public static void GameOver() { Music.Stop(); Spillet.Remove(Hero_plane); Spillet.Remove(UFO); Spillet.Remove(Fire); Spillet.Remove(Pilot); Spillet.Remove(Life); Engine_Picture GameOver = new Engine_Picture("GameOver.bmp", Color.FromArgb(0, 255, 0)); Engine_Game.Add(GameOver); Frame afGameOver = new Frame(GameOver, 5); Engine_Animation GameOverAnimation = new Engine_Animation(); GameOverAnimation.Add(afGameOver); GameOverAnimation.Play(); GameOverAnimation.Loop = true; Engine_Sprite gameover = new Engine_Sprite(); gameover.Add(GameOverAnimation); gameover.Position = new Point(800 / 2, 600 / 2); gameover.ScaleX = 800.0f / GameOver.Width; gameover.ScaleY = 600.0f / GameOver.Height; gameover.ZOrder = -10; Engine_Game.Add(gameover); Shots.Position = new Point((800 / 2) - 40, 350); Level.Position = new Point((800 / 2) - 40, 365); Score.Position = new Point((800 / 2) - 40, 380); }
public override void Update() { Pilot P = Spillet.Pilot; Hero H = Spillet.Hero_plane; Vector2 v = new Vector2(H.Position.X - this.Position.X, H.Position.Y - this.Position.Y); v.Normalize(); v = v * 1.5f; Velocity = v; if (CollisionWithHero) { CollisionWithHereoTest(); return; } if (AnimationIndex == 1) { if (Animation.PlayingLastFrame) { Spillet.Remove(this); } } else { List <Engine_Sprite> sprites = Spillet.GetCollidedSprites(this); if (sprites != null) { foreach (Engine_Sprite s in sprites) { if (s is Shoot) { CollisionScore++; Spillet.Score.Text = "Score: " + CollisionScore.ToString(); Spillet.Die.Play(); trigger++; if (trigger == 5) { Spillet.HeroHitsUFO.Play(); trigger = 0; } AnimationIndex = 1; Spillet.Remove(s); break; } else if (s is Hero) { CollisionScore--; Spillet.Score.Text = "Score: " + CollisionScore.ToString(); Spillet.UFO_Hits_HERO.Play(); Animation.Stop(); CollisionWithHero = true; P.AnimationIndex = 1; Spillet.Ekstraliv--; } } } } //Bruk CollisionWithHero og CollisionScore her i stede for //m_Score og CollideSprites }