Manejando Estados del Juego Por: Yolanda Martínez Treviño Estados del Juego Al estar en un juego, el juego puede pasar por diferentes estados. Por ejemplo: Al jugar PacMan, cambia el estado cuando “comes” el punto grande que hace que los fantasmas se hagan transparentes, entonces ahora debes perseguirlos en lugar de escapar de ellos. Por lo general todos los juegos tienen 3 estados: Inicio En el juego Final Una forma de manejar estados del juego en XNA Define cuantos estados tendrá tu juego y dáles un valor Por ejemplo: Inicio – 0 En el juego – 1 Final – 2 Crea una variable de instancia para manejar el estado del juego (el tipo de la variable depende del los valores que tu hayas definido) int estadoJuego; Una forma de manejar estados del juego en XNA Dentro de Initialize, inicializa tu variable con el estado Inicio. estadoJuego = 0; // representa el estado Inicio En Update y en Draw agrega un estatuto switch con un caso para cada estado del juego y coloca las instrucciones en el caso correspondiente. Asegúrate de cambiar el estado del juego cuando corresponda, dentro de los casos. Dentro del método Draw spriteBatch.Begin(); switch (estadoJuego) { case 0: // estoy en el estado Start spriteBatch.Draw(fondoInicio, … ) spriteBatch.DrawString(font, "Teclea espacio para iniciar”, …) break; case 1: // estoy en el estado In game spriteBatch.Draw(fondoJuego, … ) spriteBatch.DrawString(font, "Teclea Q para terminar", …) break; case 2: // estoy en el estado Game Over spriteBatch.Draw(fondoGameOver,… ) spriteBatch.DrawString(font, "Quieres jugar otra vez? (s/n)”, …) break; } spriteBatch.End(); Dentro del método Update switch (estadoJuego) { case 0: // estoy en el estado Start if (estadoTeclado.IsKeyDown(Keys.Space)) estadoJuego = 1; break; case 1: // estoy en el estado In game if (estadoTeclado.IsKeyDown(Keys.Q)) estadoJuego = 2; break; } case 2: // estoy en el estado Game Over if (estadoTeclado.IsKeyDown(Keys.S)) estadoJuego = 1; if (estadoTeclado.IsKeyDown(Keys.N)) this.Exit(); break;