任务
代码
Tank 类添加 superFire() 方法
public void superFire() {
Direction[] dirs = Direction.values();
for(int i=0;i<8;i++) {
fire(dirs[i]);
}
为方便控制炮弹方向,重写带方向枚举参数的 fire() ,将 new 的炮弹的 ptDir 改为调用的 dir
//方便 superFire() 调用方向
public void fire(Direction dir) {
if(!live) return ;
int x = this.x + Tank.TANK_WIDTH/2 -Missile.MISSILE_WIDTH/2;
int y = this.y + Tank.TANK_HEIGH/2 -Missile.MISSILE_HEIGH/2;
tc.missiles.add(new Missile(x,y,dir,this.good,this.tc));
}
最后处理按键 ‘A’,触发 superFire() ,在 Tank 类的 keyPress() 方法添加
case KeyEvent.VK_A:superFire(); break;