本版本:超级炮弹,抬起一个键,八个方向发出子弹。
private void superFire() {
Direction[] dirs = Direction.values(); //拿到数组
for(int i=0; i<8; i++) {
fire(dirs[i]);
}
}
添加fire()
public Missile fire(Direction dir) {
if(!live) return null;
int x = this.x + Tank.WIDTH/2 - Missile.WIDTH/2;
int y = this.y + Tank.HEIGHT/2 - Missile.HEIGHT/2;
Missile m = new Missile(x, y, good, dir, this.tc); //ptdir 改为 dir
tc.missiles.add(m);
return m;
}
处理按键:
case KeyEvent.VK_A :
superFire();
break;
public void keyReleased(KeyEvent e) {
int key = e.getKeyCode();
switch(key) {
case KeyEvent.VK_CONTROL:
fire();
break;
case KeyEvent.VK_LEFT :
bL = false;
break;
case KeyEvent.VK_UP :
bU = false;
break;
case KeyEvent.VK_RIGHT :
bR = false;
break;
case KeyEvent.VK_DOWN :
bD = false;
break;
case KeyEvent.VK_A :
superFire();
break;
}
locateDirection();
}
总结:本版本比较简单,超级炮弹,处理一个按键放超级技能,两个方法使八个方向打出子弹。
下一个版本:主战坦克的生命值。