在java中编写坦克大战时这样实现子弹发射击中敌方但敌方和子弹不消失

你是否有对子弹和坦克,这2个类进行完好的设计,你是否应该加一个生命状态的属性来实现此功能,比如加一个boolean islive;在绘图的方法中,绘制g.drawXXX之前,if(islive)一下,再然后在子弹命中的判断中,命中后把子弹的生命值和坦克的生命值都改变,而绘图的方法通过线程不断刷新,自然就消失了!-...
在java中编写坦克大战时这样实现子弹发射击中敌方但敌方和子弹不消失
你是否有对子弹和坦克,这2个类进行完好的设计,你是否应该加一个生命状态的属性来实现此功能,比如加一个boolean islive;在绘图的方法中,绘制g.drawXXX之前,if(islive)一下,再然后在子弹命中的判断中,命中后把子弹的生命值和坦克的生命值都改变,而绘图的方法通过线程不断刷新,自然就消失了!

------最后,希望采纳!毕竟我们纯手打!2016-09-11
mengvlog 阅读 7 次 更新于 2025-07-19 05:10:20 我来答关注问题0
  •  百度网友d098e2c 用JAVA编辑坦克大战程序,调用了repaint()方法重画图形框里的坦克模型

    这个是因为坦克移动的时候刷新太快。没等看到效果就跑没了,你在它移动的时候要线程sleep一下,我以前看韩顺平老师的视频写的坦克是在坦克线程中休眠50ms,这样就能看到移动效果,下面的代码仅供参考:比如:switch(this.direct){ case 0://说明坦克正在向上移动 for(int i=0;i

  •  302652034_bai Java编写的坦克大战,求教,我是新手

    简单的就是直接用二维数组的值表示砖块,判断子弹的坐标,然后修改数组上的数值达到比如子弹击中之后把(砖块1)改成(地面0)对于砖块的类型比较复杂的情况,用集合储存实例的时候,要注意因为子弹移动的过程中是要遍历集合判断是否接触的,所以在移除的时候对于ArrayList等一些集合会抛出异常。

  • 用随机数啊。。。用Random类或者Math.random()去取得随机数(怎么用查API)如果是随机地点 Random r = new Random();int x = r.nextInt(100);int y = r.nextInt(100);随机物品属性 int flag = r.nextInt(5);switch(flag){ case 0:属性0物品;break:case 1:属性1物品;break:case 2:...

  • public void setFullScreenWindow(Window w)进入全屏模式,或返回窗口化模式。进入的全屏模式可以是独占的,也可以是模拟的。只有 isFullScreenSupported 返回 true 时,独占模式才可用。独占模式意味着:Windows 无法重叠全屏窗口。所有其他应用程序窗口总是以 Z-order 出现在全屏窗口后面。任何时候设备上都...

  • anonymous java,坦克大战,坦克碰到一起离开不了了,怎么改啊,

    从题目看你的tank是正方形的,但是你在判断是否碰撞时只用了其中的一个点这是不对的,应该用当前tank运动方向上最前面的那根线去判断是否碰撞。即 case 0: if (this.x>=dt.x&&this.x=dt.y&&this.y=dt.x&&this.x+30

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部