坦克发射炮弹打死自己的问题

本文记录了一次解决坦克游戏中的Bug过程,坦克发射炮弹会误伤自身的问题被定位为炮弹状态值good未正确赋值导致。通过调整炮弹与坦克状态一致性判断条件并修复构造方法中状态赋值问题,成功避免了坦克自伤的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天写到一个客户端坦克发射炮弹另一个客户端也能看到,但是当坦克发射炮弹时,把自己打死了,炮弹的好坏明明是跟坦克的好坏是一个值啊,要是能打死自己说明自己发出的炮弹跟自己的good值不一样了,遂在hittank方法中把this.good != tc.t.isGood()改成this.good ==tc.t.isGood(),即炮弹的好坏跟坦克的好坏不一样的时候打坦克才有效改成一样的时候才有效,运行程序,果然发射炮弹后不能打死自己了,说明这中间good值变了,,在fire方法的new炮弹地方设置断点,watch一下good的值,发现是“error(s) during the evaluation”,在给good赋值计算时出错了,good既不是true也不是false,当然也就跟原先的true不一样了,查看所有与good值有关的地方,并主要关注修改过的地方,发现是在构造方法里出错了,构造方法里有形参good但是方法体中并没有为其赋值,加上this.good = good;一切OK.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值