初学4之坦克要求(我方坦克击中敌方坦克,敌方坦克消失)

思路:要让我方坦克的子弹击中敌方坦克,那么也就是说我方坦克的子弹x,y要在敌方坦克x,y区域内,这样我方坦克发射的子弹落入这个地方坦克区域内,敌方坦克就消失了!

如何写呢?

(1)首先我们得在TankPanel类里去写一个hitTank()方法--并且传入参数(Shot s,EnemyTank enemyTank)--并且开始判断当敌方坦克炮筒向上或者向下,它的区域都是一样的,只是炮筒方向不一样,只要子弹落入在这个区域内,就可以消灭敌方坦克,同理敌方坦克炮筒向左或向右也是一样的,但是子弹我们有设置boolean bulletIsLive=true;只要击中敌方坦克就消失,那么敌方坦克也消失,我们也得需要再EnemyTank类里去添加boolean enemytankIsLive=true;最开始存活,被击中后消亡

 

(2)此时写完了我方坦克子弹要击中敌方坦克,就得让子弹落在敌方坦克的区域内,但是现在就是要判断你击中的到底是哪一个敌方的坦克,因为现在并不知道击中的是哪个敌方坦克!!!所以写完以后还要去判断什么时候我方坦克是否击中了敌方的哪个坦克,需要把上诉方法放在一个循环里去遍历判断比较好,放在run()方法里面去判断,因为它每隔100毫秒就会去重绘,你不知道哪个敌方坦克将被击中

(3)以上都写好以后,最后要开始绘制,在paint()方法里,之前我们绘制敌方坦克时,

把敌人坦克遍历出来,就开始绘制,现在不可以直接这么做了!!! 

要去判断敌人的坦克是否存活,如果没有存活,才绘制!!!

(4)成果展示

 

 

(6)最后一步,当你射中敌方坦克时,你的子弹并没有马上消亡,而是到了窗口临界点才消失,所以 写到这里时还要再Shot线程里加入一个条件,之前有了一个,当子弹碰到窗口灵界点时,子弹才消亡,现在还要写,当子弹碰到坦克时,也消亡

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值