//击中敌机 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; } } } } }