Por ejemplo, tengo una clase de juego y mantiene una int
que rastrea la vida del jugador. Tengo un condicional
if ( mLives < 1 ) {
// Do some work.
}
Sin embargo, esta condición sigue disparando y el trabajo se realiza repetidamente. Por ejemplo, quiero configurar un temporizador para salir del juego en 5 segundos. Actualmente, seguirá configurándolo en 5 segundos cada fotograma y el juego nunca termina.
Este es solo un ejemplo, y tengo el mismo problema en varias áreas de mi juego. Quiero verificar alguna condición y luego hacer algo una vez y solo una vez, y luego no verificar o hacer el código en la declaración if nuevamente. Algunas posibles soluciones que vienen a la mente son tener una bool
para cada condición y establecer bool
cuándo se dispara la condición. Sin embargo, en la práctica, esto se vuelve muy complicado al manejar muchos bools
, ya que deben almacenarse como campos de clase o estáticamente dentro del método mismo.
¿Cuál es la solución adecuada para esto (no para mi ejemplo, sino para el dominio del problema)? ¿Cómo harías esto en un juego?