public bool isTouchMyTank() { for (int i = 0; i < Map.enemyList.Count; i++) { if (this != Map.enemyList[i] && Crash.crash(this.getRectangle(), Map.enemyList[i].getRectangle())) { switch (this.bulletDirection) { case MoveDiretion.Up: this.y = (y / 40 + 1) * 40; break; case MoveDiretion.Down: this.y = y / 40 * 40; break; case MoveDiretion.Left: this.x = (x / 40 + 1) * 40; break; case MoveDiretion.Right: this.x = x / 40 * 40; break; default: break; } this.speed = 0; //是碰撞瞬间坦克的速度变为零 return(true); } } return(false); }
public Boolean isTouchEnemy() { for (int i = 0; i < Map.enemyList.Count; i++) { if (Crash.crash(Map.Gametank.getRectangle(), Map.enemyList[i].getRectangle())) { return(true); } } return(false); }
public int isEatProp() { for (int i = 0; i < Map.propList.Count; i++) { int type = Map.propList[i].getType(); if (Crash.crash(Map.Gametank.getRectangle(), Map.propList[i].getRectangle())) { Map.propList.Remove(Map.propList[i]); return(type); } } return(-1); }
private void myBulletMove() { for (int i = 0; i < planeBullets.Count; i++) { planeBullets[i].Move(this); } for (int i = 0; i < planeBullets.Count; i++) { if (Crash.isCrashWall(planeBullets[i])) { //撞墙 planeBullets.Remove(planeBullets[i]); break; } for (int j = 0; j < enemyList.Count; j++) { if (Crash.crash(enemyList[j].getRectangle(), planeBullets[i].getRectangle())) { //撞敌机 score += 10; SoundPlayer p = new SoundPlayer(Properties.Resources.boom); p.Play(); planeBullets.Remove(planeBullets[i]); blastX = enemyList[j].X; blastY = enemyList[j].Y; enemyList.Remove(enemyList[j]); break; } } for (int j = 0; j < enemyBullets.Count; j++) { if (planeBullets.Count > 0 && Crash.crash(planeBullets[i].getRectangle(), enemyBullets[j].getRectangle())) { bool a = planeBullets.Remove(planeBullets[i]); bool b = enemyBullets.Remove(enemyBullets[j]); break; } } } }
public bool isTouchWall() { for (int j = 0; j < Map.wallList.Count; j++) { if (Crash.crash(this.getRectangle(), Map.wallList[j].getRectangle())) { if (Map.wallList[j].getType() == 3) { return(false); } else { switch (this.bulletDirection) { case MoveDiretion.Up: this.y = (y / 40 + 1) * 40; break; case MoveDiretion.Down: this.y = y / 40 * 40; break; case MoveDiretion.Left: this.x = (x / 40 + 1) * 40; break; case MoveDiretion.Right: this.x = x / 40 * 40; break; default: break; } //重新规整x坐标 //重新规整y坐标 } this.speed = 0; //是碰撞瞬间坦克的速度变为零 return(true); } } return(false); }