昨天写到一个客户端坦克发射炮弹另一个客户端也能看到,但是当坦克发射炮弹时,把自己打死了,炮弹的好坏明明是跟坦克的好坏是一个值啊,要是能打死自己说明自己发出的炮弹跟自己的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.
坦克发射炮弹打死自己的问题
最新推荐文章于 2023-08-28 20:51:22 发布