예제 #1
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
 public void getBloodBox(Graphics g, Player player, BloodBox box)
 {
     Rectangle plaRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);
     Rectangle boxRec = new Rectangle(box.BoxX, box.BoxY, box.Box.Width, box.Box.Height);
     if (boxRec.IntersectsWith(plaRec) && player.ChangeBlood(0) && box.Exist)
     {
         player.ChangeBlood(20);
         box.getBox();
         box.Exist = false;
     }
     else
     {
         box.Draw(g);
     }
 }
예제 #2
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
        public void getBloodBox(Graphics g, Player player, BloodBox box)
        {
            Rectangle plaRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);
            Rectangle boxRec = new Rectangle(box.BoxX, box.BoxY, box.Box.Width, box.Box.Height);

            if (boxRec.IntersectsWith(plaRec) && player.ChangeBlood(0) && box.Exist)
            {
                player.ChangeBlood(20);
                box.getBox();
                box.Exist = false;
            }
            else
            {
                box.Draw(g);
            }
        }
예제 #3
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
        public void shootPlayer(Graphics g, List <EnemyBullet> ebList, Player player)//被击中
        {
            Rectangle playRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);

            for (int i = 0; i < ebList.Count; i++)
            {
                Rectangle ebRec = new Rectangle(ebList[i].ebX, ebList[i].ebY, ebList[i].EBimage.Width, ebList[i].EBimage.Height);
                if (ebRec.IntersectsWith(playRec))
                {
                    ebList.Remove(ebList[i]);
                    player.ChangeBlood(-5);
                    if (!player.ChangeBlood(0))//判断玩家血量
                    {
                        Bomb bomb = new Bomb(player.PLANEX, player.PLANEY);
                        bomb.Draw(g);
                        bomb.bombplay();
                    }
                }
            }
        }
예제 #4
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
 //玩家与敌机碰撞
 public void crashPlane(Graphics g, List<Enemy> enemyList, Player player)
 {
     Rectangle playRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);
     for (int i = 0; i < enemyList.Count; i++)
     {
         Rectangle ebRec = new Rectangle(enemyList[i].ENEMY_X, enemyList[i].ENEMY_Y, enemyList[i].PLANE.Width, enemyList[i].PLANE.Height);
         if (ebRec.IntersectsWith(playRec))
         {
             Bomb bomb = new Bomb(enemyList[i].ENEMY_X, enemyList[i].ENEMY_Y);
             enemyList.Remove(enemyList[i]);
             bomb.Draw(g);
             bomb.bombplay();
             player.ChangeBlood(-10);
             if (!player.ChangeBlood(0))
             {
                 Bomb bomb2 = new Bomb(player.PLANEX, player.PLANEY);
                 bomb2.Draw(g);
                 bomb2.bombplay();
             }
         }
     }
 }
예제 #5
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
        public void crashPlane(Graphics g, List <Enemy> enemyList, Player player)//玩家与敌机碰撞
        {
            Rectangle playRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);

            for (int i = 0; i < enemyList.Count; i++)
            {
                Rectangle ebRec = new Rectangle(enemyList[i].ENEMY_X, enemyList[i].ENEMY_Y, enemyList[i].PLANE.Width, enemyList[i].PLANE.Height);
                if (ebRec.IntersectsWith(playRec))
                {
                    Bomb bomb = new Bomb(enemyList[i].ENEMY_X, enemyList[i].ENEMY_Y);
                    enemyList.Remove(enemyList[i]);
                    bomb.Draw(g);
                    bomb.bombplay();
                    player.ChangeBlood(-10);
                    if (!player.ChangeBlood(0))
                    {
                        Bomb bomb2 = new Bomb(player.PLANEX, player.PLANEY);
                        bomb2.Draw(g);
                        bomb2.bombplay();
                    }
                }
            }
        }
예제 #6
0
        public void Move()
        {
            player.checkCoords();
            background.Move();
            player.MovePlane();
            ProduceBullet();
            ProduceEnemy();
            suGun.Move();
            box.Move();
            if (player.ChangeBlood(0))//玩家血量为0时,敌机不发射子弹
            {
                ProduceEnemyBullet();
            }
            Random rand = new Random(Guid.NewGuid().GetHashCode());

            if (0 == rand.Next(500))
            {
                suGun.Exist = true;
            }
            if (0 == rand.Next(500))
            {
                box.Exist = true;
            }
        }
예제 #7
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
 //被击中
 public void shootPlayer(Graphics g, List<EnemyBullet> ebList, Player player)
 {
     Rectangle playRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);
     for (int i = 0; i < ebList.Count; i++)
     {
         Rectangle ebRec = new Rectangle(ebList[i].ebX, ebList[i].ebY, ebList[i].EBimage.Width, ebList[i].EBimage.Height);
         if (ebRec.IntersectsWith(playRec))
         {
             ebList.Remove(ebList[i]);
             player.ChangeBlood(-5);
             if (!player.ChangeBlood(0))//判断玩家血量
             {
                 Bomb bomb = new Bomb(player.PLANEX, player.PLANEY);
                 bomb.Draw(g);
                 bomb.bombplay();
             }
         }
     }
 }