3
วนรอบเกม, วิธีตรวจสอบเงื่อนไขหนึ่งครั้ง, ทำอะไรแล้วไม่ทำอีกครั้ง
ตัวอย่างเช่นฉันมีคลาสเกมและมันจะคอยintติดตามชีวิตของผู้เล่น ฉันมีเงื่อนไข if ( mLives < 1 ) { // Do some work. } อย่างไรก็ตามเงื่อนไขนี้ยังคงมีการยิงต่อเนื่อง ตัวอย่างเช่นฉันต้องการตั้งเวลาเพื่อออกจากเกมใน 5 วินาที ปัจจุบันมันจะตั้งค่าเป็น 5 วินาทีทุกเฟรมและเกมจะไม่มีวันสิ้นสุด นี่เป็นเพียงตัวอย่างเดียวและฉันมีปัญหาเดียวกันในหลาย ๆ ด้านของเกม ฉันต้องการตรวจสอบเงื่อนไขบางอย่างแล้วทำบางครั้งเพียงครั้งเดียวแล้วไม่ตรวจสอบหรือทำรหัสในคำสั่ง if อีกครั้ง วิธีแก้ปัญหาที่เป็นไปได้บางอย่างที่อยู่ในใจกำลังมีอยู่boolสำหรับแต่ละเงื่อนไขและตั้งค่าboolเมื่อเงื่อนไขเริ่มทำงาน อย่างไรก็ตามในทางปฏิบัติสิ่งนี้ได้รับการจัดการที่ยุ่งมากboolsเนื่องจากพวกมันจะต้องถูกเก็บไว้เป็นฟิลด์คลาสหรือคงที่ภายในวิธีการเอง การแก้ปัญหาที่เหมาะสมสำหรับสิ่งนี้คืออะไร (ไม่ใช่สำหรับตัวอย่างของฉัน แต่สำหรับโดเมนปัญหา) คุณจะทำสิ่งนี้ในเกมได้อย่างไร?