1 / 18
文档名称:

hvp12智能定位器产品说明书.pdf

格式:pdf   大小:15,034KB   页数:18页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

hvp12智能定位器产品说明书.pdf

上传人:1557281760 2018/3/4 文件大小:14.68 MB

下载得到文件列表

hvp12智能定位器产品说明书.pdf

文档介绍

文档介绍:陕西国防学院
《Java 语言》课程期末实训
题目坦克大战
学院电子信息学院
专业软件技术
班别软件 3132 班
学号 3531323X
姓名小智
2015 年 3 月 6 日
一、课程题目
坦克大战(Java 版本)
实现一个 java 版本的坦克大战游戏
【功能提示】
1. 游戏要有图形用户界面,界面能够反映游戏所有的细节。
2. 界面中要有坦克,墙,树林,河流。
3. 界面中要有一个“家”,“家”被攻击中则输了游戏。
4. 坦克分两种,敌方和我方。
5. 墙也分为两种,可以穿透的普通墙,不可以穿透的铁墙。
6. 树和河流均只有一种,树林坦克可以通过。
7. 坦克可以发射子弹,敌我方的子弹属性一样。
8. 我方子弹可以杀死敌方坦克,敌方子弹也可以杀死我方坦克,但需要多枪子
弹才可以杀死。
9. 敌方之间不可以杀死对方。
10. 子弹击中坦克要有爆炸,但击中墙不能爆炸。
11. 我方可以吃血包增加生命。
12. 游戏可以暂停,重新开始,游戏帮助等功能。具体如下图:
13.
二、题目分析与设计
需求分析
1. 设计一个图形用户界面,将所有游戏的元素都能在此用于界面上表
现出来,界面能够接受用户的操作,具有人机交互功能。用户可以
选择重新开始游戏,退出游戏,暂停游戏和查找游戏帮助。
2. 界面中包含坦克,树,河流,阻挡墙和游戏用户所要保护的“家”。
3. 坦克:坦克分为两种,敌方坦克和用户控制的坦克。用户方和敌方
坦克均可以发射子弹,可以改变路径的行走,且在行走过程中遇到
墙等阻碍物和游戏边界时要改变方向,而不能一直顶着障碍物不放。
坦克之间不能穿越,碰撞到后自动调换方向。
4. 树:界面中要包括树林,作为遮掩物体和修饰物体,以便增加游戏的
元素,使得游戏更加贴切人性化。树的数目不限,以游戏整体界面
清晰美观来决定数目。
5. 河流:界面中要包括河流,河流作用与树林相同,同样河流的数目
不限,以游戏界面整体美观度来决定数目。
6. 墙:墙体分为两种,普通的墙和铁墙,普通的墙在受到子弹袭击时
会损坏,而铁墙可以阻碍子弹的穿越。两方的坦克均不能穿越两种
墙体,但都可以摧毁普通墙体。普通墙体的数目配合其他元素合理
安排,铁墙则不宜过多,不然游戏难度太低甚至因为坦克不能穿越
铁墙而使得游戏无法进行下去。
7. “家”:用户方除了有一辆自己的坦克外还有一个要保护的家,家由
普通墙体包围,家受到子弹攻击后游戏立即结束,用户方则输了本
局游戏。
8. 子弹:子弹可以由敌方和用户方发射,且发射出去的子弹可以直线
移动,直到碰到障碍物就消失,子弹可以穿越树林和河流。敌方坦
克受到一颗子弹攻击会爆炸从而导致死亡,死亡后坦克消失。用户
方受到子弹攻击后会减少寿命,且受到四次攻击则死亡,此时如还
有敌方坦克存在,则用户方输掉本次游戏。
9. 爆炸:当子弹射击到坦克身上时,要产生爆炸效果。
10. 方向:坦克和子弹都有方向,可以选择上下左右四个方向,且子弹
的方向从属于坦克的方向。
具体设计
以下的论述均根据上面需求分析的顺序来安排:
1. 图形用户界面
图形用户界面要用到 Java 课程里的第六章的知识,需要用到抽象窗
口工具集即 AWT 和 Swing 来设计实现,由于游戏需要有功能按键来控制
游戏的重新开始,退出,暂停,帮助等,所以在实现过程中,设计菜单项。
坦克,河流,树,家,墙等都是调用各自类里面的 draw 函数来画出
来,最后 new 一个图形面板出来,把所有的元素都 add 进面板就可以了。
界面的构造在程序中由 TankClient 类的构造方法来完成,即没构造一个用
户类都会产生这样一个包含各种游戏元素在内的界面。由于画面是静止的,
而我们游戏的画面要求是动态的,游戏中的坦克和子弹都是在不断的动,
可穿透的普通墙体也在“动”,所以对于画面,必须要不断的更新,重画
才能产生动态的效果。
在程序中,此部分功能也是由 TankClient 类里的 update 函数和
framPaint 函数共同实现,将“动”的元素进行重画,而不动的元素如菜
单项就不用重画,所以这也是为什么把菜单项设计进 TankClient 类的构造
方法中。当然,图形用户界面中也包括对各种界面元素的大小,位置和颜
色等设计,细节问题这里就不赘述。
2. 界面中的元素
界面中的元素都是在构造界面的时候用界面实例对象的 add 方法加
入进去的,且“动”的元素要不断更新重画。
3. 坦克
坦克主要