既然我們能夠實作一個方向的發子彈,那麼根據同樣的道理 也能夠實作八個方向的發子彈。
首先在Tank類的KeyPress方法裡面加上按鍵A的事件
// 我方坦克的鍵盤按下事件
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
switch (e.getKeyCode()) {
case KeyEvent.VK_F:
// 執行個體化子彈
fire();
break;
//超級技能
case KeyEvent.VK_A:
// 執行個體化子彈
bigFire();
break;
case KeyEvent.VK_UP:
up = true;
break;
case KeyEvent.VK_DOWN:
down = true;
break;
case KeyEvent.VK_LEFT:
left = true;
break;
case KeyEvent.VK_RIGHT:
right = true;
break;
default:
break;
}
// 根據boolean值來判斷目前要移動的方向
judgeDir();
}
bigFire就是超級技能。new八個方向的子彈即可
//超級技能
private void bigFire() {
// TODO Auto-generated method stub
for(Direction dir:ranDir){
Missile missile = new Missile(x + width / 2 - 6, y + height / 2 - 6,
dir, good);
TankClient.missileList.add(missile);
}
}