Par exemple, j'ai une classe de jeu et elle en garde une int
qui suit la vie du joueur. J'ai un conditionnel
if ( mLives < 1 ) {
// Do some work.
}
Cependant, cette condition continue de se déclencher et le travail est effectué à plusieurs reprises. Par exemple, je veux régler une minuterie pour quitter le jeu en 5 secondes. Actuellement, il continuera de le régler à 5 secondes à chaque image et le jeu ne se termine jamais.
Ce n'est qu'un exemple, et j'ai le même problème dans plusieurs domaines de mon jeu. Je veux vérifier une condition, puis faire quelque chose une fois et une seule fois, puis ne pas vérifier ou refaire le code dans l'instruction if. Certaines solutions possibles qui viennent à l'esprit sont d'avoir un bool
pour chaque condition et de définir le bool
moment où la condition se déclenche. Cependant, dans la pratique, cela devient très compliqué à gérer bools
, car ils doivent être stockés en tant que champs de classe ou statiquement dans la méthode elle-même.
Quelle est la bonne solution à cela (pas pour mon exemple, mais pour le domaine problématique)? Comment feriez-vous cela dans un jeu?