Java实例-坦克大战

Java实例-坦克大战

一.样例图片

 

二.类图结构

 

坦克大战中的所有类

 

类的关系图

 

我的坦克类

三.说明

1、每一个新的独立运行的东西就是一个线程,像我方坦克,像敌方坦克,像所有的子弹

2、每一个线程要实现run方法,也要start启动线程

3、无论坦克,子弹,都有生命,都有坐标(静),都有速度,都有运动的方向(动)

4、坦克和子弹的运动都是靠修改坐标后的刷新坐标来实现的

5、坦克的子弹的显现都是通过JPanel里面的paint出来的,不断的repaint就能显现所有的运动

6、子弹的连续运动是通过run方法里面的死循环实现的,也就是不断的变换坐标

7、键盘动作是通过键盘监听来的

8、多个线程是被集合类存储起来的,像子弹集合,像敌方坦克集合

 

9、自己坦克的动是因为键盘事件里面的repaint,敌方坦克的动却是因为Tank1界面里面调用MyPanel线程的start函数,run里面有repaint

10、运行repaint的实质是再次调用paint函数,所以我们需要看看paint里面有什么

11、paint函数里面其实就是什么有生命我就画什么就好,有多少个我画多少个,例如我方坦克,敌方坦克,我方子弹,敌方子弹

12、画敌方子弹需要双重循环,那还不如和敌方坦克画在一起

13、子弹发射了还要绘制才可能出来

四.代码

代码在百度盘上:http://pan.baidu.com/s/1hrYFjxU

(1)主界面:TankWarUI类

(2)坦克作战区:MyPanel类

(3)子弹:Bullet类

(4)坦克类:Tank类

(5)我的坦克类:MyTank类

(6)敌人坦克类:EnemyTank类

 

 

 

 

原文地址:https://www.cnblogs.com/Renyi-Fan/p/6864574.html