Beispiel #1
0
        /// <summary>
        /// Permite al juego ejecutar lógica para, por ejemplo, actualizar el mundo,
        /// buscar colisiones, recopilar entradas y reproducir audio.
        /// </summary>
        /// <param name="gameTime">Proporciona una instantánea de los valores de tiempo.</param>
        protected override void Update(GameTime gameTime)
        {
            // Permite salir del juego
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
                this.Exit();

            // TODO: agregue aquí su lógica de actualización

            if (StateJuego == Juegostate.Logo) {

                if (sonarMusica)
                {
                    WhootGames.Play();
                    sonarMusica = false;
                }

            }

            if (StateJuego == Juegostate.Juego1) {
                if (sonarMusica)
                {
                    EligePalabra.Play();
                    sonarMusica = false;
                }
                foreach (Sprite palabra in listaPalabras)
                {

                    Rectangle areaObjeto = new Rectangle((int)palabra.posicion.X, (int)palabra.posicion.Y, (int)palabra.textura.Width, (int)palabra.textura.Height);

                    if (Mouse.GetState().LeftButton == ButtonState.Pressed)
                    {
                        if (areaObjeto.Intersects(new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 1, 1)))
                        {
                            palabra.esElegido = true;
                            StateJuego = Juegostate.Intermedio;
                            sonarMusica = true;
                        }
                    }
                }
            }

            if (StateJuego == Juegostate.Juego2)
            {
                foreach (Sprite objeto in listaObjetos)
                {
                    objeto.Update(gameTime);
                    Rectangle areaObjeto = new Rectangle((int)objeto.posicion.X, (int)objeto.posicion.Y, (int)objeto.textura.Width, (int)objeto.textura.Height);

                    if (Mouse.GetState().LeftButton == ButtonState.Pressed)
                    {
                        if (areaObjeto.Intersects(new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 1, 1)))
                        {
                            if (objeto.esElegido == true)
                            {
                                Correct.Play();
                                StateJuego = Juegostate.Juego3;
                            }
                            else
                            {
                                fallosObjetos++;
                                Wrong.Play();
                            }
                        }
                    }

                }

            }

            if (StateJuego == Juegostate.Juego3) {

                if (sonarMusica)
                {
                    RecuerdaPalabra.Play();
                    sonarMusica = false;
                }
                foreach (Sprite palabra in listaPalabras)
                {
                    Rectangle areaObjeto = new Rectangle((int)palabra.posicion.X, (int)palabra.posicion.Y, (int)palabra.textura.Width, (int)palabra.textura.Height);

                    if (Mouse.GetState().LeftButton == ButtonState.Pressed)
                    {
                        if (areaObjeto.Intersects(new Rectangle(Mouse.GetState().X, Mouse.GetState().Y, 1, 1)))
                        {
                            if (palabra.esElegido == true)
                            {
                                Correct.Play();
                                StateJuego = Juegostate.Score;
                            }
                            else
                            {
                                fallosPalabras++;
                                Wrong.Play();
                            }
                        }
                    }

                }

            }

            if (StateJuego == Juegostate.Score) {
                ameba.update(gameTime);

            }

            base.Update(gameTime);
        }
Beispiel #2
0
        /// <summary>
        /// Se llama cuando el juego debe realizar dibujos por sí mismo.
        /// </summary>
        /// <param name="gameTime">Proporciona una instantánea de los valores de tiempo.</param>
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.Black);

            if (StateJuego == Juegostate.Logo)
            {

                spriteBatch.Begin();
                spriteBatch.Draw(Logo, Vector2.Zero, Color.White);
                spriteBatch.End();

                tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;

                if (tiempoLogo >= tiempoLimiteLogo)
                {
                    StateJuego = Juegostate.Juego1;
                    sonarMusica = true;
                    tiempoLogo = 0;
                }
            }

            if (StateJuego == Juegostate.Juego1)
            {

                foreach (Sprite palabra in listaPalabras) {
                    palabra.Draw(spriteBatch);
                }
            }

            if (StateJuego == Juegostate.Intermedio) {

                if (sonarMusica)
                {
                    EncuentraSimbolo.Play();
                    sonarMusica = false;
                }
                switch (simboloElegido)
                {
                    case 0:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo0, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 1:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo1, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 2:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo2, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 3:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo3, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 4:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo4, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 5:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo5, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 6:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo6, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 7:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo7, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 8:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo8, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                    case 9:
                        spriteBatch.Begin();
                        spriteBatch.Draw(explicacionSimbolo9, Vector2.Zero, Color.White);
                        spriteBatch.End();
                        tiempoLogo += (float)gameTime.ElapsedGameTime.TotalSeconds;
                        if (tiempoLogo >= tiempoLimiteLogo)
                        {
                            StateJuego = Juegostate.Juego2;
                            sonarMusica = true;
                            tiempoLogo = 0;
                        }
                        break;
                }

            }

            if (StateJuego == Juegostate.Juego2)
            {
                spriteBatch.Begin();
                spriteBatch.DrawString(tizaFont, "Fallos:"+fallosObjetos, Vector2.Zero, Color.White);
                spriteBatch.End();
                foreach (Sprite objeto in listaObjetos) {
                    objeto.Draw(spriteBatch);

                }
            }

            if (StateJuego == Juegostate.Juego3) {
                foreach (Sprite palabra in listaPalabras)
                {
                    palabra.Draw(spriteBatch);
                }

            }

            if (StateJuego == Juegostate.Score) {
                spriteBatch.Begin();
                spriteBatch.DrawString(tizaFont, "Jugador", new Vector2(20,20), Color.White);
                spriteBatch.DrawString(tizaFont, "Fallos Simbolos:" + fallosObjetos, new Vector2(20, 50), Color.White);
                spriteBatch.DrawString(tizaFont, "Fallos Palabra:" + fallosPalabras, new Vector2(20, 80), Color.White);
                spriteBatch.DrawString(tizaFont, "Tiempo Simbolos:" + (fallosObjetos + fallosPalabras), new Vector2(20, 110), Color.White);
                spriteBatch.DrawString(tizaFont, "Tiempo Palabra:" + (fallosObjetos + fallosPalabras), new Vector2(20, 140), Color.White);
                spriteBatch.DrawString(tizaFont, "Fallos Totales:" + (fallosObjetos + fallosPalabras), new Vector2(20, 170), Color.White);
                spriteBatch.DrawString(tizaFont, "Tiempo Total:" + (fallosObjetos + fallosPalabras), new Vector2(20, 200), Color.White);
                spriteBatch.End();
                ameba.Draw(gameTime, spriteBatch);
            }

            // TODO: agregue aquí el código de dibujo

            base.Draw(gameTime);
        }
Beispiel #3
0
        /// <summary>
        /// Permite que el juego realice la inicialización que necesite para empezar a ejecutarse.
        /// Aquí es donde puede solicitar cualquier servicio que se requiera y cargar todo tipo de contenido
        /// no relacionado con los gráficos. Si se llama a base.Initialize, todos los componentes se enumerarán
        /// e inicializarán.
        /// </summary>
        protected override void Initialize()
        {
            // TODO: agregue aquí su lógica de inicialización
            StateJuego = Juegostate.Logo;
            rnd = new Random();

            tiempoLogo = 0;
            tiempoLimiteLogo = 3;

            fallosObjetos = 0;
            fallosPalabras = 0;

            sonarMusica = true;
            base.Initialize();
        }