TankWar2.2(superFire)

来源:互联网 发布:pop3的端口 编辑:程序博客网 时间:2024/06/05 17:05
    public void superFire(){        Direction[] dirs =Direction.values();  //Enum还提供了values方法,这个方法使你能够方便的遍历所有的枚举值。        for(int i=0;i<8;i++){            fire(dirs[i]); //调用带参数的fire方法,传递八个方向的子弹        }    }

重载fire方法,这样superfire调用可以调用这个没有炮筒的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.HIGHT / 2 - Missile.HIGHT / 2;        Missile m = new Missile(x, y, good, dir,this.tc);        //这里不是炮筒方向而是枚举方法中的一个dir(传入的dir参数)        tc.missiles.add(m);        return m;    }

最后选择一个键,来调用这个superfire方法。

原创粉丝点击