Java.坦克大战小游戏【2.2】

任务

代码
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;

猜你喜欢

转载自blog.csdn.net/liyuanyue2017/article/details/80272654