public override void Update(GameTime gameTime) { if (players.Length == 1) { _showEndScene(); } // for managing the scenes if (endScene) { timeElapsed += (float)gameTime.ElapsedGameTime.TotalSeconds; if (timeElapsed > timeToUpdate) { State = 1; } return; } //birds update flock.update(gameTime); if ((!Rocket.rocketFlying)) { ProcessKeyboard(); } if (Rocket.rocketFlying) { _rocket.Update(gameTime); CheckCollisions(gameTime); } if (_explosion.particleList.Count > 0) { UpdateParticles(gameTime); } if (randomExplosionPos.X > -1) { AddExplosion(randomExplosionPos, 4, 30.0f, 1000.0f, gameTime); this.randomExplosionPos = new Vector2(-1, -1); soundCenter.HitTerrain.Play(); } base.Update(gameTime); }
public override ScreenState Update(DateTime gameTime) { ScreenState ret = ScreenState.Current; if (firstUpdate) { currentTick = gameTime.Ticks; firstUpdate = false; } if (winAnimation) { if (elapsed == TimeSpan.Zero) { elapsed = TimeSpan.FromTicks(gameTime.Ticks - currentTick); } rocket.Y = rocket.Y - Convert.ToSingle(rocketVelocity++ *0.2); mainField.Update(gameTime); if (rocket.Y < -192) { ret = ScreenState.Win; Updatebalance(ret, elapsed); StartNewGame(); } return(ret); } var inp = device.GetInputState(); if (inp.IsCancel) { ret = ScreenState.Menu; } else { bool isLive = mainField.GetSquareState(omich.X, omich.Y); if (!isLive) { if (omich.IsLive()) { device.PlaySound(soundWater); } omich.Dead(); } else { if (!omich.IsLive()) { omich.Enabled = false; ret = ScreenState.Loose; } } if (omich.IsLive()) { if (detail.Containts(omich) && detail.Enabled) { detail.Enabled = false; device.PlaySound(soundVzmah); } if (rocket.Containts(omich) && !detail.Enabled) { if (detail.NextFrame()) { detail.Enabled = true; mainField.NextLevel(); } if (!rocket.NextFrame()) { device.PlaySound(soundBomb); omich.Enabled = false; winAnimation = true; } else { device.PlaySound(soundDrel); } } if (inp.Joystick == JoystickState.Down) { OmichMove(Direction.Down); } else if (inp.Joystick == JoystickState.Up) { OmichMove(Direction.Up); } else if (inp.Joystick == JoystickState.Left) { OmichMove(Direction.Left); } else if (inp.Joystick == JoystickState.Right) { OmichMove(Direction.Right); } else if (inp.Joystick == JoystickState.Press) { var Position = inp.Positions.First(); if ( (Position.Y <= omich.Y + 96) && (Position.Y >= omich.Y) && (Position.X > omich.X + 100) ) { OmichMove(Direction.Right); } else if ( (Position.Y <= omich.Y + 96) && (Position.Y >= omich.Y) && (Position.X < omich.X) ) { OmichMove(Direction.Left); } else if ( (Position.Y > omich.Y + 96) ) { OmichMove(Direction.Down); } else if ( (Position.Y < omich.Y) ) { OmichMove(Direction.Up); } } if (omich.IsLive()) { if (omich.X == 0) { omich.SeeRight(); } else if (omich.X == 700) { omich.SeeLeft(); } } } } mainField.Update(gameTime); omich.Update(gameTime); rocket.Update(gameTime); detail.Update(gameTime); if (ret != ScreenState.Current) { elapsed = TimeSpan.FromTicks(gameTime.Ticks - currentTick); Updatebalance(ret, elapsed); StartNewGame(); } return(ret); }
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); }