Por exemplo, eu tenho uma classe de jogo e mantém uma int
que rastreia a vida do jogador. Eu tenho uma condicional
if ( mLives < 1 ) {
// Do some work.
}
No entanto, esta condição continua disparando e o trabalho é feito repetidamente. Por exemplo, quero definir um cronômetro para sair do jogo em 5 segundos. Atualmente, ele continuará definindo para 5 segundos a cada quadro e o jogo nunca termina.
Este é apenas um exemplo, e eu tenho o mesmo problema em várias áreas do meu jogo. Quero verificar se há alguma condição e, em seguida, fazer algo uma vez e apenas uma vez e depois não verificar ou executar o código na instrução if novamente. Algumas soluções possíveis que vêm à mente está tendo um bool
para cada condição e definir os bool
Quando os fogos de condição. No entanto, na prática, isso fica muito confuso ao lidar com muitasbools
, pois eles precisam ser armazenados como campos de classe ou estaticamente dentro do próprio método.
Qual é a solução adequada para isso (não no meu exemplo, mas no domínio do problema)? Como você faria isso em um jogo?