初学7之坦克要求(我方坦克和敌方坦克在规定的范围内/窗口区域内移动,不超出边界)

问题:此时的敌方坦克和我方坦克都超出窗口边界了,我们需要去设置修改他们在规定的窗口区域内去移动,不能超过边界,如何做呢?

答:先需要考虑每个敌方坦克的其实x,y坐标

如果向上getY()>0还可以继续往上走,因为往上走y--,但是如果<0为负数,则不能往上走,

如果向右getX()+80<700.可以继续往右走,因为x++.但是它必须getX()+80<700,否则会超过边界

this.setSize(700,700);//画框窗口像素大小

(老出错)如果向下getY()+105>0.可以继续往右走,因为x++.但是它必须getX()+80<700,否则会超过边界

如果向左getX()>0,则x--,所以不能小于0

 

 

 再修改我方坦克不超过边界,也是要考虑其实xy坐标,只是我们的moveUp/moveDown/moveLift/moveRight()方法是在TankPanel类里的监听时间中的KeyPress()方法里的,所以要在里面加if()条件

 敌方坦克在区域内活动了,但是我方坦克向右和向下的时候还是会超出边界!ai

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值