public void HandleBulletIntersections(EnemyHandler eh, Player p, ContentManager contentManager)
        {
            #region PLAYERS_BULETS
            foreach (Bullet b in p.bullets)
            {
                bulletRectangle = new Rectangle((int)b.X, (int)b.Y, 3, 1);
                foreach (Enemy e in eh.EnemiesIter())
                {
                    if (e.IsAlive)
                    {
                        enemyRectangle = new Rectangle((int)e.X, (int)e.Y - 100, e.W, e.H);
                        if (enemyRectangle.Intersects(bulletRectangle))
                        {
                            e.Hitpoints -= 1;
                            e.explosionHandler.CreateExplosion("small", new Vector2(b.X - 75, b.Y), contentManager);
                            p.bullets.Remove(b);
                            bulletRemoved = true;
                        }
                    }
                }
                if (bulletRemoved)
                {
                    bulletRemoved = false;
                    break;
                }
            }
            #endregion

            #region ENEMIES_BULLETS
            playerRectangle = new Rectangle((int)p.X - p.W / 2, (int)p.Y - p.H / 2, p.W, p.H);
            foreach (Enemy e in eh.EnemiesIter())
            {
                foreach (Bullet b in e.bullets)
                {
                    bulletRectangle = new Rectangle((int)b.X, (int)b.Y, 3, 1);
                    if (bulletRectangle.Intersects(playerRectangle))
                    {
                        p.Hitpoints -= 1;
                        if (p.IsAlive)
                            e.explosionHandler.CreateExplosion("small", new Vector2(b.X - random.Next(5, 20), b.Y), contentManager);
                        e.bullets.Remove(b);
                        break;
                    }
                }
            }
            #endregion
        }
Beispiel #2
0
        public GamePage()
        {
            InitializeComponent();

            // Get the content manager from the application
            contentManager = (Application.Current as App).Content;

            // Create a timer for this page
            timer = new GameTimer();
            timer.UpdateInterval = TimeSpan.FromTicks(/*333333*/ 111111);
            timer.Update += OnUpdate;
            timer.Draw += OnDraw;

            player = new Player();
            background = new Background();
            clouds = new Clouds();
            enemyHandler = new EnemyHandler(player, background);
            intersectionHandler = new IntersectionHandler();
            buildingHandler = new BuildingHandler();
            powerupHandler = new PowerupHandler();
        }
 public void HandlePlanesInterestion(EnemyHandler eh, Player p)
 {
     playerRectangle = new Rectangle((int)p.X, (int)p.Y, p.W, p.H);
     foreach (Enemy e in eh.EnemiesIter())
         if (e.IsAlive)
         {
             enemyRectangle = new Rectangle((int)e.X, (int)e.Y - 100, e.W, e.H);
             if (playerRectangle.Intersects(enemyRectangle))
             {
                 e.Hitpoints = 0;
                 p.Hitpoints -= 10;
             }
         }
 }