コード例 #1
0
ファイル: Juego.cs プロジェクト: Just0Rick/PongPractice
        public override void Update(GameTime gameTime)
        {
            if (Input.Boton.Back == Microsoft.Xna.Framework.Input.ButtonState.Pressed)
            {
                manejador.CambiarANuevaEscena <MenuPrincipal>(false);
            }

            if (alguienGano)
            {
                return;
            }

            playerOne.Update(gameTime);
            playerTwo.Update(gameTime);
            pelota.Update(gameTime);

            Vector2 pelotaLimites = new Vector2(pelota.CajaDeLimites.X + pelota.CajaDeLimites.Width,
                                                pelota.CajaDeLimites.Y + pelota.CajaDeLimites.Height);

            if (pelotaLimites.Y > LimitesDeVentana.Y || pelota.CajaDeLimites.Y < 0)
            {
                pelota.NotificarColision(TipoDeColision.Pared);
            }

            if (pelota.CajaDeLimites.X > LimitesDeVentana.X)
            {
                pelota.NotificarColision(TipoDeColision.Gol);
                puntajeP1++;
                incrementoDeVelocidad = 0;
                AlPasarElIntervalo(null, null);
                if (puntajeP1 >= CantidadParaGanar)
                {
                    alguienGano = true;
                    ganadorName = "Player uno";
                }
            }

            if (pelotaLimites.X < 0)
            {
                pelota.NotificarColision(TipoDeColision.Gol);
                puntajeP2++;
                incrementoDeVelocidad = 0;
                AlPasarElIntervalo(null, null);
                if (puntajeP2 >= CantidadParaGanar)
                {
                    alguienGano = true;
                    ganadorName = "Player dos";
                }
            }

            if (playerOne.CajaDeLimites.Intersects(pelota.CajaDeLimites) ||
                playerTwo.CajaDeLimites.Intersects(pelota.CajaDeLimites))
            {
                pelota.NotificarColision(TipoDeColision.Paleta);
            }
            else
            {
                pelota.NotificarColision(TipoDeColision.Ninguno);
            }
        }