您的位置:首页 > 编程语言 > Java开发

坦克大战(基于java线程)

2016-11-19 16:52 92 查看

坦克大战(基于java线程)

坦克大战是继五子棋后的新项目,基于java的图形化界面以及多线程来实现,主要是锻炼javaSE的基本能力

前言

本人是根据“马士兵”在网易云课堂上所提供的教学视频来做出的坦克大战,基本原理、思路与视频中所体现的一致,当然也有一些实现上的不同,当然这都是一些小细节,主要依据个人感受。

这里只是本人的学习心得以及收获。

版本迭代

编程时保存每一个版本,然后都是在上一个版本的基础上进行修改,添加新的功能,这时一种良好的编程习惯

功能逐渐完善

在这里把自己的做出的步骤列出,因为是后来补写的博客,所以可能有些地方记不清楚,但也算是一个教训,以后应该边做边记录所遇到的问题,解决办法以及收获心得,最后整理发布博客。

绘制窗体并设置背景色,画出一个自由下落的球体,着色

利用双缓冲来解决屏幕刷新时闪烁的问题

对键盘进行监听,可以控制小球的移动方向

整合代码,根据面对对象的思想,分离出Tank类

小球可以拥有更多的移动方向,但是存在bug

解决移动时存在的bug,并且画出tank的炮口

按发射键可以发射出一颗炮弹,并且炮弹的方向可以随tank移动的方向改变

整合代码,根绝面向对象思想,分离出Missile类

对tank的炮口进行优化,优化炮弹的移动

可以发射多发炮弹,并显示在屏幕左上角

解决tank的出界问题

添加敌方tank,可以被炮弹击中并消失

添加爆炸效果,当tank被击中时发生爆炸

可以自行添加多辆敌方tank

敌方tank可以自主移动

敌方tank可以发射子弹,并且可以互相击中并产生爆炸

优化tank的重叠碰撞问题

添加障碍物,炮弹无法穿越障碍物

设置敌方tank低于一定数量后会自动添加,己方tank死亡后会随机出现在不同的位置

己方tank添加作弊键,炮火增强

可以记录最高分并保存

实现效果

运行截图:



心得

做出这个坦克大战对于检查javaSE的掌握程度时很有帮助的,也增强了学习的信心,建议学习javaSE的初学者也都去自己做出一个”TankWar”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 线程