Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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
        }