Java实现经典坦克大战及源代码下载
一、简单介绍
这是一个功能相对全的Java版坦克大战,界面绘制是通过Java的图形化用户界面swing完成的,包括了菜单界面和游戏界面。其中菜单界面可以供玩家选择重新开始游戏、暂停、继续、是否播放背景音乐、设置游戏难度等操作;游戏界面绘制了坦克、河流、草地、墙壁、鹰碉堡等经典坦克场景,玩家在游戏界面操作自己的坦克开始对战。
本游戏使用的主要技术有Swing编程、面向对象编程、多线程编程。本想用I/O编程实现保存游戏数据,感觉单机版的没必要就没弄了。
游戏实现的主要功能有:
1、我方坦克默认可以渡河,碰到墙壁不能走,鹰碉堡被击中游戏结束
2、坦克可以上下左右、以及左上左下右上右下八个方向移动,移动时添加音效
3、坦克可以发子弹(可以连发),发射时添加音效
4、击中对方坦克时,坦克消失,显示爆炸效果;子弹击中墙壁时,子弹消失
5、我方坦克吃到血块时,生命值加30(可以自己设定);我方被击中时每次血量减50
6、移动过程中检测碰撞,包括坦克与坦克,坦克与草地、河流、墙壁等
7、声音处理(开始音乐、背景音乐、移动音效、爆炸音效等)
8、菜单处理(重新开始、暂停/继续游戏、是否播放背景音乐、设置游戏难度、帮助等)
9、默认击中一个敌人得100分,达到1500分进入下一关,一共设置了3关
10、生命数,默认两条命,命数用完游戏结束
二、工程目录
images文件夹存放草、鹰碉堡和河流图片,墙壁是用画笔画的;audio存放所有音效文件;所有java代码都存放在com.chuenhung.tank包下面。
三、具体代码
由于篇幅有限,这里只贴出Tank类源代码。Tank类是公用的,通过good变量来区分我方和敌人坦克。
Tank类源代码:
重新开始、暂停、继续、发射子弹、爆炸效果演示:
渡河、吃血块功能演示:
五、总结
源代码参考了马老师的Java坦克大战视频教程以及众多互联网资源,这次练手有利于深入理解Java面向对象编程、Swing界面编程以及多线程编程
更新于2021/06/04