基于JAVA的坦克大战游戏的设计与实现【文献综述】.doc

上传人:文初 文档编号:276522 上传时间:2018-08-17 格式:DOC 页数:5 大小:30.50KB
下载 相关 举报
基于JAVA的坦克大战游戏的设计与实现【文献综述】.doc_第1页
第1页 / 共5页
基于JAVA的坦克大战游戏的设计与实现【文献综述】.doc_第2页
第2页 / 共5页
基于JAVA的坦克大战游戏的设计与实现【文献综述】.doc_第3页
第3页 / 共5页
基于JAVA的坦克大战游戏的设计与实现【文献综述】.doc_第4页
第4页 / 共5页
基于JAVA的坦克大战游戏的设计与实现【文献综述】.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 1 毕业论文文献综述 计算机科学与技术 基于 JAVA 的坦克大战游戏的设计与实现 摘要 坦克大战( Battle City) 是一款经典休闲防御射击类游戏。 游戏以坦克战斗及保卫基地为主题,属于策略型联机类。同时也是少有的内建关卡编辑器的几个游戏之一,玩家可自己创建独特的关卡,并通过获取一些道具使坦克和基地得到强化。 本项目介绍了坦克大战的基本构建方法、 java 的相关技术及本程序的结构分析和具体功能的实现。 重点运用了图形化用户界面 GUI, Thread 多线程的有关知识,其中涉及了绘图工具的运用,事件处理操作以及图形的碰撞 检测等知识点。 学会图形化用户界面的构建,通过启用多线程机

2、制,将画面构造出来,使用双缓冲消除闪烁现象。使用键盘监听类 KeyMonitor 实现坦克的控制操作,实现坦克与障碍物之间的碰撞检测,利用容器类添加对象。 关键词: 基地 射击 关卡 2 1.引言 坦克大战是一款风靡全球的电视游戏机和掌上游戏机游戏。此游戏由于游戏简单、操作方便而备受大家青睐。 游戏编程涉及图形 3图像、实时输入获取、逻辑控制 4、音乐音效编程、人工智能 5等方面。 不同于一般的图形应用程序,游戏图像对硬件有着严格 甚至于苛刻的要求。游戏开发人员总是想着如何发挥现有的硬件的极限性能 6以实现更华丽更逼真的游戏图形效果。这不仅需要硬件技术的发展支持,也要求游戏程序员在数据结构、图

3、形算法领域不断地加以突破。 经典的坦克大战游戏却是一个特例 ,它规则简单 ,所有人都比较熟悉 ,而且涉及到键盘控制、计分功能、 内建关卡 以及其他逻辑问题 ,是一个比较综合而相对难度不很大的游戏 ,很适合初学者学习计算机程序开发技术 ,锻炼自己的动手能力。 2. 游戏语言与工具 开发任何软件,掌握一门编程语言是必不可少的。在某些应用程序中,总有一些计算机语言优于 其他语言。下面是几种用于编写游戏的主要编程语言 7的介绍及其优缺点。 C/C+语言:实际上大部分游戏都是由 C/C+语言编写的, C 语言支持结构化编程,也就是说 C 的程序被编写成一些分离的函数呼叫(调用)的集合,这些呼叫是自上而下

4、运行,而不像一个单独的集成块的代码使用 GOTO 语句控制流程。由于 C 是由汇编语言编写的,将 C 和汇编语言进行结合变得相当容易。函数调用接口非常简单,而且汇编语言指令还能内嵌到 C代码中,所以,不需要连接独立的汇编模块。 C+语言是具有面向对象特性的 C 语言的继承者。面向对象编程,或称 OOP 是结构化编程的下一步。 OO 程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样),组织大型程序的能力和程序移植性都比 C 语言好得多。 汇编语言 : 最小、最快的语言。汇编高手能编写出比任何其他语言能实

5、现的快得多的程序。确切的说,任何能在其他语言里做到的事情,汇编都能做,只是不那么简单 这是当然,就像既可以开车到某个地方,也可以走路去,只是难易之分。汇编语言的缺点也很明显:缺点:难学、语法晦涩、坚持效率,额外代码多,维护困 难且移植性近于零。总的来说,汇编语言不会在游戏中单独应用。游戏使用汇编主要是来编写游戏核心中需要高速反复运行的部分。 JAVA: 一门紧凑而易学的语言, Java 从 C+ 中借用了大量的语法,丢弃了很多 C+的复杂功能,。不像 C+, Java 强制面向对象编程,。 自动分配 资源配 合垃圾回 收 3使得 JAVA 很3 容易实现不易崩溃且不会泄漏资源的可靠程序,程序也

6、可以在网页中运行。 JAVA 的另一个优势就是移植性 4非常好。 JAVA 的缺点是使用一个“虚拟机 8”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。 通过对几种语言的比较,我选择用 Java9进行坦克大战的编写。 重点运用了图形化用户界面 GUI, Thread 多线程的有关知识,其中涉及了绘图工具的运用,事件处理操作以及图形的碰撞检测 16等知识点 3.游戏系统简介 坦克大战游戏是一款面向所有爱好射击类等的游戏迷所创建的游戏,打开游戏界面,游戏界面中有开始游戏、游戏帮助和退出游戏的选项 。 点击开始游戏即可开始玩, WASD 控制方向, J 为子弹,玩家控制主坦克的移动和炮弹

7、的发射,将地方坦克全部消灭并保证己方基地不被打掉则视为玩家胜利,游戏中有超级武器和加血道具, 靠玩家自己的摸索,游戏按键简单,易于操作。 3.1游戏规则 胜利条件:保护位于游戏界面中下部的我方基地,将 20 架敌方坦克击毁便可胜利,进入下一关。 失败条件:我方坦克全灭或基地被毁。无论我方坦克残量几何,基地一旦被毁,游戏立刻 CAME OVER。 4.游戏制作编程需求 以一架坦克的大小为一格,每场战斗开始时, 游戏的设置是在一个特定的场景中,玩家控制我方坦克,由游戏提供了让玩家坦克运行的方法和发射子弹的方法,消灭敌方坦克保护基地的一个游戏,游戏中敌方的坦克是由系统所控制的,能自动的随机发射出子弹

8、。 游戏功能要求 如下: 1. 坦克移动需求 :运用十字键进行畅快自如的移动,炮口方向与移动方向自动一致。移动的最小单位为 1/2 格,如果只消减了 1/4 的障碍物,就无法继续前进。 2. 地形需求 :战场并不是一马平川,各种障碍物构成了复杂的地形, 地形包括砖墙、森林、树木等, 学会利用地形是坦克大战基础中的基础。 3. 攻击需求 :一枚炮弹的攻击判定宽度为 1 格,强度为 1/4 格,也就是说,要击毁 1 格的红砖,需要发射四枚炮弹。当己方坦克火力处于 1 级时,同屏只能出现己方的一枚炮弹,合理的开炮是制胜的最有效的途径。 4. 胜利需求 : 保护我方基地,将所有敌方坦克击毁便 可胜利。

9、 4 5.游戏主要类 5.1构建坦克类 (Tank 类 ) 创建一个坦克类,为 Tank 类添加成员变量,添加 draw 方法,使 Tank 类独立控制自己的画法,构造函数中创建使得每个坦克都拥有自己的一颗子弹,这些子弹将随着坦克自己的调动而调动。为区分敌我坦克,在类中创建了 Good tank 和 bad tank 来分别表示我方坦克和敌方坦克,以简化结构。 5.2添加炮弹类 (Missile 类 ) 添加 Missile 类,添加 x, y, dir 等属性以及常量。在 Missile 类当中添加构造方法, draw方法等必要方法。根据不同的方向, 子弹要进行不同的运动。在 Tank 类当

10、中增加对 J 键的按键处理,使每按下 J 键的时候,坦克打出一发炮弹。为了解决坦克停下来也能开火的问题 给坦克加一炮筒,根据炮筒方向和位置设定子弹的方向和位置并 new 出来,然后返回。 5.3添加基地类 (Headquarters 类 ) 建立 Headquarters 类,在 Headquarters 类中为基地添加红砖,当红砖中的 Headquarters被打掉后游戏结束。让敌方坦克发射炮弹,本军坦克不打本军坦克,向炮弹添加表示好坏的Boolean 量 good。修改炮弹的构造方法;修改 Tank 的 fire 方法 ,坦克只能打击对方。 5.4 添加墙类 (wall 类 ) 建立 wa

11、ll 类,往里添加相应属性以及相应方法,当子弹接触到墙壁时,墙壁消失。在 MainFrame 类当中创建容器,将爆炸存放于容器当中,击毙一辆坦克就产生爆炸,将爆炸逐一画出(如果死去就去除)。 5.5 创建地图类 (Map 类 ) 建立 map 类,在障碍物中添加元素,当子弹打到障碍物抵消掉时,随机有道具出现,创建 Blood 类添加血药箱,加入必要的属性和方法。当主站 Tank 与药箱接触的时候,血自动加满。添加容器类,用容器来装敌方坦克,可多辆装入。 6.总结 该游戏包括游戏场景(地图)的处理、双方作战对象(坦克和子弹)的生成、消减和控制,以及敌方坦克和子弹运行智能性的控制,实现了特定场景中

12、的敌我双方坦克的对战,敌方坦克由系统控制,自动的发射子弹;我方坦克由玩家控制,系统为玩家提供控制坦克运行和子弹发射攻击的方法。该游戏软件具有一定的复杂性和可玩性。 5 在该游戏的设计与实现过程中,不可避免的遇到一些技术方面的问题,比如对游戏地图加载技术、坦克间的检测碰撞技术等,这些问题的解决是本游戏的关键。当然,该游戏有待于进一步的提高,比如更大程度的提高敌方坦克智能 化、游戏中添加宝物(物品),增加可玩性等等。 参考文献 1 耿卫东,陈为 .计算机游戏程序设计 .电子工业出版社 .2009.01 2 王鹏,何昀峰 Java Swing图形界面开发与案例详解 清华大学出版社, 2008.12

13、3 BruceEckel, Java 编程思想 M.机械工业出版社, 2003.10 4 吕建德 .游戏程序设计概论 .中国铁道出版社 .2006 5 赵毅 .跨平台程序设计语言 Java.西安电子科技大学出版社, 2006.01 6 杨恩雄,麦凯翔 .疯狂 Java实战演义 .电子工业出版社 .2010.06 7 Jonathan S. Harbour Java 5 游戏编程 机械工业出版社, 2007.01 8 赵强,乔新亮 .J2EE应用开发 M.北京 :电子工业出版社 .2003. 9 陈东 编程常用设计模式 .电子工业出版, 2005.10 10 美 Herbert Schidt著

14、.Java参考大全 .鄢爱兰 .鹿江春译 .北京:清华大学出版社, 2006 11 宛延闿等 .实用 Java程序设计教程 .机械工业出版社, 2006 12 张海藩 .软件工程导 论 .清华大学出版社, 2008.2 13 Andy Budd&Cameron Moll&Simon Collison .CSS Mastery: Advanced Web Standards Solutions .Apress, 2006.10 14 Harvey M. Deitel .java how to program. Pearson Education ,2001.8 15 李尊朝 ,苏军 . Java语言程序设计 .中国铁道出版社, 2006.1 16 邱郁惠 系统分析师 UML实务手册 机械工业出版社, 2008.04 17 陈轶 .姚晓昆 .Java程序设计实验指导 .清华大学出版社, 2006 18 邱郁惠 系统分析师 UML实务手册 机械工业出版社, 2008.04

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 文献综述

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。