潜艇游戏中潜艇的越界代码是相同的,但是水雷需要重写,而且水雷是向上移动的,所以在重写越界时,判断条件需要注意改变。
public class Mine extends SeaObject{
/*public boolean isOutOfBounds(){
return this.y>=150-this.height;
}*/
public boolean isOutOfBounds(){
return this.y<=150-this.height;
}
遍历潜艇时,变量j习惯性的写成第一个循环语句遍历炸弹时用的i,导致运行时出现炸弹和潜艇没有碰撞消失,改完后解决
潜艇发射炸弹时炸弹在左边可以打到潜艇,右边就打不到,原因时y1跟x2代码写错了互换一下就好了
潜艇大战所遇问题:潜艇一出现,只要按炸弹发射,无论碰上了还是没有碰上,潜艇都会消失。
解决方案:判断是否碰上时的语句错误,x1和x2,y1和y2的取值范围写错了
问题:所有潜艇和战舰图片都出现在左上角也不移动 原因:超类中画笔x,y坐标写死了 解决:写活改为this.x this.y
在超类中 当前状态设置为了静态变量 当状态改变时所有对象全部消失
潜艇大战所遇问题:潜艇出现按炸弹发射,没有碰上,潜艇会消失。
解决方案:判断是否碰上时的语句错误,代码应该为this.x=this.width
问题:战舰发射炸弹时,炸弹碰到潜艇有时会消失,有时不会。 解决方法:检测碰撞中潜艇的x加上炸弹的宽改为潜艇的x加上潜艇的宽