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

任务

代码
添加多辆坦克,和炮弹、爆炸一样,把 Tank 类装进容器

List<Tank> tanks = new ArrayList<Tank>(); 

在 paint() 方法中遍历画出容器内的坦克

for(int i=0;i<tanks.size();i++) {
            Tank t = tanks.get(i);
            t.draw(g);
    }

最后判断每个坦克和每发炮弹间的击中情况,即对每发炮弹遍历每个坦克,在 Missile 类中定义一个新方法

//判断每个坦克是否被该炮弹击中
    public boolean hitTanks(List<Tank> tanks) {
        for(int i=0;i<tanks.size();i++) {
            Tank t = tanks.get(i);
            if(hitTank(t)) {
                return true;
            }
        }
        return false;
    }

最后在 paint() 方法调用子弹类 draw() 之前调用该 hitTanks() 方法,并在 Tank 类的 draw() 中对 live 为 false 的坦克从集合中去除

猜你喜欢

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