
正文
关于坦克大战java代码解析的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
(100分)Java写“坦克大战”
砖块1)改成(地面0)对于砖块的类型比较复杂的情况,用集合储存实例的时候,要注意因为子弹移动的过程中是要遍历集合判断是否接触的,所以在移除的时候对于ArrayList等一些集合会抛出异常。
首先你需要确定你的地图方块的规格,长和宽。其次,对你的坦克的X坐标和Y坐标进行求余。假设:block_x,block_y分别是你的绘画长宽。
子弹线程启动后每移动一次要重绘一次,在你子弹类的run方法移动子弹的代码中添加repaint(),如果是用的GameCanvas可以用别的方法重绘,你可以试验一下。
将墙体的坐标都存入一个list什么的,然后查询坦克的下一个坐标是否会处于墙体的坐标上,如果不处于墙体坐标上,则可以移动,否则,不能移动,即碰到了墙。
相关问答
Q1: 用JAVA编辑坦克大战程序,调用了repaint()方法重画图形框里的坦克...
1、看你的代码怎么写的咯。不过我估计,不是线程的问题,是你坦克移动的时候才去刷新重绘。而子弹移动的时候没有刷新。
2、你用1级车去打3级车当然打不动了,在打不动的情况下就换3号弹打吧,尽量打侧面,后面, 还得吃药 乘员熟练度没满。把炮手练满就能打到了。 精度吧,.4以上的精度300米开外基本打不中。
3、// AWT调用了update()方法来响应拖动棋子时所调用的repaint()方法。该方法从 // Container类继承的默认实现会在调用paint()之前,将applet的绘图区域清除 // 为背景色,这种绘制之后的清除就导致了闪烁。
4、独占模式意味着:Windows 无法重叠全屏窗口。所有其他应用程序窗口总是以 Z-order 出现在全屏窗口后面。任何时候设备上都只能有一个全屏窗口,因此,当已存在全屏窗口时调用此方法将导致现有的全屏窗口返回为窗口化模式。
5、我做过类似坦克大战的应用,重绘还有另一种写法就是页面隔一段时间刷新的方法。
Q2: Java编写的坦克大战,求教,我是新手
1、需要看你的tank的draw方法里的内容代码和碰撞检测代码。
2、在你的paint函数中加上下面三句话就ok了。g.drawImage(image1, 100, 100, 30, 30, this);g.drawImage(image2, 100, 100, 30, 30, this);g.drawImage(image3, 100, 100, 30, 30, this);在super下面写上。
3、创建爆炸对象和“画出爆炸对象”是两码事。创建了之后并未“画出”,也就是未显示。只有在paint函数里调用drawImage函数时才显示,而此时传了新的坐标参数,就是当前击中的坦克的坐标。我也刚学,希望能帮助到你。
关于坦克大战java代码解析和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。





