예제 #1
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
 //击中敌机
 public void shootEnemy(Graphics g, List<Bullet> bulletList, List<Enemy> enemyList, Player player)
 {
     for (int i = 0; i < bulletList.Count; i++)
     {
         //创建子弹的矩形变量
         Rectangle bues = new Rectangle(bulletList[i].BulX, bulletList[i].BulY, bulletList[i].BulletImage.Width, bulletList[i].BulletImage.Height);
         for (int j = 0; j < enemyList.Count; j++)
         {
             //创建敌机矩形变量
             Rectangle emes = new Rectangle(enemyList[j].ENEMY_X, enemyList[j].ENEMY_Y, enemyList[j].PLANE.Width, enemyList[j].PLANE.Height);
             if (emes.IntersectsWith(bues))//敌机碰撞测试
             {
                 bulletList.Remove(bulletList[i]);
                 if (1 == enemyList[j].Blood)//判断敌机血量是否会减为0
                 {
                     player.ChangeScore(enemyList[j].Score);
                     Bomb bomb = new Bomb(enemyList[j].ENEMY_X, enemyList[j].ENEMY_Y);
                     enemyList.Remove(enemyList[j]);
                     bomb.Draw(g);//画出爆炸效果
                     bomb.bombplay();//音效效果
                 }
                 else
                 {
                     enemyList[j].Blood = enemyList[j].Blood - 1;
                 }
             }
         }
     }
 }
예제 #2
0
 public void checkTime(Player player)
 {
     DateTime nowTime = System.DateTime.Now;
     ts = nowTime.Subtract(createTime).Seconds;
     if (10 < ts)
     {
         player.loseGun();
     }
 }
예제 #3
0
파일: Crasher.cs 프로젝트: kbyyd24/PlaneWar
 public void getSuperGun(Graphics g, Player player, SuperGun gun)
 {
     Rectangle plaRec = new Rectangle(player.PLANEX, player.PLANEY, player.Myplane.Width, player.Myplane.Height);
     Rectangle gunRec = new Rectangle(gun.GunX, gun.GunY, gun.Gun.Width, gun.Gun.Height);
     if (gunRec.IntersectsWith(plaRec))
     {
         player.getSuperGun();
         gun.getGun();
         gun.Exist = false;
     }
     else
     {
         gun.Draw(g);
     }
 }
예제 #4
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);
     }
 }
예제 #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
파일: 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();
             }
         }
     }
 }
예제 #7
0
파일: Game.cs 프로젝트: kbyyd24/PlaneWar
 public Game(String name)
 {
     player = new Player(name);
 }