Ejemplo n.º 1
0
        protected override void Update(GameTime gameTime)
        {
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
            {
                Exit();
            }

            rocket.Update(4);

            cosmonaut1.Update(0.01);
            cosmonaut2.Update(-0.005);
            cosmonaut3.Update(-0.003);

            asteroid.Update(3);
            asteroid2.Update(4);
            asteroid3.Update(5);
            asteroid4.Update(6);
            asteroid5.Update(5);
            asteroid6.Update(4);

            #region Столкновение ракеты с космонавтами

            List <Cosmonaut> cosmonauts = new List <Cosmonaut>();
            cosmonauts.Add(cosmonaut1);
            cosmonauts.Add(cosmonaut2);
            cosmonauts.Add(cosmonaut3);

            foreach (Cosmonaut cosmonaut in cosmonauts)
            {
                if (collideRocketCosmonaut.CollideCosmonaut(rocket, cosmonaut))
                {
                    rocket._color = Color.Green;
                    cosmonaut.RandomSpaceCosmonaut();
                    cosm++;
                }
                else
                {
                    rocket._color = Color.White;
                }
            }
            #endregion

            #region Столкновение ракеты с астероидами

            List <Asteroid> asteroids = new List <Asteroid>();
            asteroids.Add(asteroid);
            asteroids.Add(asteroid2);
            asteroids.Add(asteroid3);
            asteroids.Add(asteroid4);
            asteroids.Add(asteroid5);
            asteroids.Add(asteroid6);

            foreach (Asteroid asteroid in asteroids)
            {
                if (collideRocketAsteroid.CollideAsteroid(rocket, asteroid))
                {
                    rocket._color = Color.Red;
                    asteroid.RandomSpaceAsteroid();
                    HP--;
                }
                else
                {
                    rocket._color = Color.White;
                }
            }
            #endregion

            base.Update(gameTime);
        }