因为当打到第一辆坦克的时候才创建一个炸弹,这个炸弹此时放入vector中,当击中第二辆坦克的时候,第一颗炸弹才会爆炸。。。所以才会出现第一辆坦克没有爆炸效果,因为在击中第一辆坦克之前,vector里并没有放入炸弹。想要第一辆坦克有爆炸效果,那么在击中第一辆坦克之前就创建一颗炸弹,放入vector中。。。
坦克大战是一款经典的街机游戏,每个玩家控制一个坦克,在一条路上攻击对方,如果一个坦克被对方或自己撞到,就会爆炸并消失。
根据题目描述,第一个坦克爆炸了,第二个坦克没有爆炸。
可能有以下几种情况:
1. 第一个坦克被第二个坦克攻击并打爆了。
2. 第一个坦克自己开到了路旁的炸弹上,把自己炸爆了。
3. 第一个坦克被其他因素(如障碍物)撞到了,爆炸了。
4. 第二个坦克没有被任何因素影响,所以没有爆炸。
综上所述,第一个坦克爆炸的原因需要具体情况具体分析,可能有很多种可能性。
这个问题我也很费解!!但是有个解决的办法!
在构造函数public Mypanel(){ } 的函数体中添加如下一段代码就OK了!
Bomb b1=new Bomb(10,10);//这里的坐标随意设的
bombs.add(b1);
也就是说在子弹和坦克接触前就放了一个Bomb对象到Vector里面,但是在画图时调用Vector里面的对象的时候却没有显示出第一个对象被调用的迹象!!!超级不理解!!!不知道是什么原理!!求高人解答!!!
如果子弹存在让它遍历所有的与所有坦克的碰撞。我在上上半年的时候在韩老师的基础上,做了一个坦克大战。