基于java的游戏坦克大战论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于j a v a的游戏坦克
大战论文
文件排版存档编号:[UYTR-OUPT28-KBNTL98-UYNN208]
目录
1
2
5
1
第一章绪论
课题研究的背景
如今我们的生活节奏越来越快,每个人的生活压力也在不断变大,长期紧绷着神经容易产生心理和生理上的双重伤害,人们需要在工作和学习之外放松自己,玩玩游戏正是放松自己的方式之一。
坦克大战,一个众所周知的小游戏,曾经在红白机时代风靡一时。其界面简单,耐玩,关卡多,可玩性高,没有局限的年龄层。
Java是现在全球最时髦的开发工具之一,它拥有庞大且完善的类库,内置了其他语言需要靠库甚至是操作系统才能支持的功能,拥有一个虚拟机,总之,Java的出现,确实给整个程序界带来了巨大的冲击,也许现在还无法准确评估Java为整个IT业带来的影响,但是有一点毋庸置疑—Java将不可避免的影响一带程序员。
使用Java作为开发工具,来做坦克大战这个小游戏,是一种很理性的选择。Java游戏可以在本地桌面系统下运行,也可以在Web浏览器下运行。
我在大学四年中学到了很多计算机的知识,JAVA语言,软件工程,数据结构,软件工程等课程。如今我将用我所学的知识来完成一个坦克大战游戏,来锻炼自己的动手能力,独立作出一个小程序。
课题研究的任务
本文中所做的主要工作如下:
(1)介绍了制作坦克大战游戏的意义和目的。
(2)设计坦克大战游戏各个类,实现各类效果和目标。
(3)分析并解决游戏中的若干技术问题。
(4)完成坦克大战游戏,进行测试并分析结果.
第二章系统分析
课题的可行性分析
1、课题要求
(1)与实践活动和相关的文件和资料由教师提供。
(2)本课题要求学生有熟练的Java开发能力,有较强的自学能力。
(3)具体问题再做详细调查研究并与指导老师面谈。
2、可行性分析
技术可行性:游戏对机器没有多大要求,现在无论什么电脑,只要能安装J2SDK,就能在电脑上开发这款游戏。制作出来的游戏可以在本地桌面运行,也可在WEB上运行,现在JAVA语言非常成熟,完全能够完成这个游戏。
经济可行性:开发这个游戏除了耗费自己的时间和精力以外,不需要其他的资金问题,完成后放到网上开放下载,无需任何费用,有兴趣的人可以自己下载来玩。
需求分析
在游戏中需要实现的功能:
(1)能够通过键盘自由控制坦克移动和发射子弹;
(2)敌方坦克能够随机移动和随机发射子弹;
(3)子弹和不同阵营坦克碰撞后会产生爆炸;
(4)消灭敌方坦克后会有个计分板记录玩家得分
(5)游戏进行到一半时可以暂停退出,下次打开游戏时选继续游戏可以继续之前的游戏。
第三章系统总体设计
游戏总体流程设计
开始新游戏时,先进行初始化,然后调用敌方坦克类和我方坦克类,实现键盘监听功能,战场显示所有坦克的移动,发射子弹。判断子弹和敌方坦克的碰撞,调用爆炸类,调用记录类,修改玩家总得分。
图总体流程图
游戏界面设计
(1)开始菜单
界面左上角设置个游戏菜单,里面含有“开始新游戏”、“继续游戏”、“存盘退出”、“退出游戏”这几个下拉选项,玩家可通过这些选项控制游戏的开始,存盘,与结束。
图开始菜单
(2)战场
窗口中间是坦克大战的战场,里面显示敌我双方坦克,以及各自发出的子弹,坦克的一切行为都会显示在战场上。
图战场
(3)坦克剩余数
战场正下方显示我方坦克剩余生命和敌方坦克剩余数量。
图坦克剩余数
(4)玩家总成绩
战场右边显示玩家击毁敌方坦克所得到的的总成绩。
图玩家总成绩
第四章游戏详细设计
各个类的设计
(1) 坦克类是系统中最主要的一个类,坦克的属性:速度(X轴和Y轴速度),坦克的大小,坦克所在坐标,坦克的方向,坦克存活与否。这些属性都有一个初始化值,游戏一开始就可以运行。
设计过程中,坦克出现的位置是由坦克的坐标而定。玩家的位置由键盘监听方向,按照指定方向以一定的速度前进——这个速度是全局静态变量,当没有键盘控制的时候,坦克就会保持静止。敌方的坦克是用随机数来控制方向和路径的。通过TouchotherEnemy()来判断是否碰撞到别的敌方坦克。
我方坦克的方向和子弹发射都是由键盘来控制,所以在坦克类里用keypressed()方法来接受键盘的按键监听,接受到相应的信息后,例如
接到X,则表示发射子弹,此时就要调用坦克类里的fire()方法。接受到方向键,则会对坦克坐标做出相应的变化。
图坦克类
图红色我方坦克黄色敌方坦克
(2)子弹类需要依附坦克类,每个坦克都可以发射子弹,子弹的方向和速度都在子弹类里。当子弹碰到敌方坦克或跑出战场后,子弹线程便会结束。
图子弹类
图红色我方子弹黄色敌方子弹
(3)爆炸类是取决子弹类。每当子弹碰到敌方坦克时,子弹线程结束,并调用爆炸类,爆炸类会读取坦克即时的坐标,并用连续的三张图片显示出爆炸效果。
图爆炸类
程序的其他设计
(1)图形用户界面要用抽象窗口工具AWT和Swing来实现,在选择开始新游戏前,实现屏幕中央关数的闪屏效果。
class StartPanel extends JPanel implements Runnable
{
int time=0;
public void paint(Graphics g)
{
(g);
(0, 0, 900, 600);
if(time%2==0)
{