Por ejemplo:
- Menú Principal
- Opciones del Juego
- Créditos
- Pantalla del juego
- etc ...
- Captura de eventos (teclado, ratón, etc..)
- Dibujar (mostrar las opciones del menú, mostrar la pantalla del juego ...)
- Actualizar estados (cambiar la opcion del menu seleccionada, actualizar la posicion del jugador ...)
- Y otros como pueden ser, ¿que pasa cuando se inicializa el estado?, ¿que pasa cuando se finaliza?, ¿que pasa si se hace un pause?
Tendremos una clase llamada GameManager que controlará el paso de un estado a otro y sus eventos, y una clase abstracta llamada GameState, de la que heredarán todos los estados por los que pueda pasar nuestro juego.
Para que veais como funciona todo esto, vamos a hacer un pequeño ejemplo que luego nos servirá para nuestro juego.
Necesitamos crear inicialmente un fichero llamada juego.py y dos carpetas una llamada gamemanager y otra dentro de esta llamada states.
Dentro de la carpeta "states" crearemos un archivo llamado gamestate.py con el siguiente codigo:
class GameState(object): def __init__(self,parent): pass def start(self): pass def cleanUp(self): pass def pause(self): pass def resume(self): pass def handleEvents(self, events, parent): pass def update(self): pass def draw(self): pass