毕业设计(论文)-基于Java的飞机大战游戏开发(33页).doc
《毕业设计(论文)-基于Java的飞机大战游戏开发(33页).doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于Java的飞机大战游戏开发(33页).doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-毕业设计(论文)-基于Java的飞机大战游戏开发题目基于Java的飞机大战游戏开发-第 27 页毕 业 设 计(论 文)摘 要飞机大战是电脑游戏发展史中早期最为经典的游戏之一,无论是在电脑端、移动端、还是游戏机上,都能见到与飞机相关的射击类游戏。不过,最初常见的飞机大战游戏是二维平面上的,并且大多以黑白的形式出现,而如今,在电脑上,不仅机型多,而且五颜六色,3D视觉冲击强。Java自面世后就非常流行,发展迅速,对C+语言形成了有力冲击,Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有了全球最大的开发
2、者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。因此,本论文主要阐述以面向对象的程序开发语言Java及Eclipse为开发工具的飞机大战游戏。首先简要介绍课题的研究背景、目的及意义,Java的发展历程、当前国内外的发展现状。然后介绍Eclipse平台开发环境及环境搭建,最后讲述了基于Java飞机大战游戏功能的实现。其功能模块如下:主界面模块,Hero模块,Enemy模块,Bullet的类模块,检测子弹与敌机碰撞模块检测,相信其基于Java的飞机大战游戏将会受到更大的欢迎。关键词:飞机大战,游戏,Java,EclipsAbstractPlane War is
3、 the one of the most classic games in the early history of the development of computer games. We can always see aircraft-related shooting game whether it is on a computer teminal or mobile terminal. However, the first common plane war game is a two-dimensional plane, and mostly appears in the form o
4、f black and white, but now, on the computer, not just models and more colorful, 3D strong visual impact.Java is very popular with developers since it appeared, formed the powerful shock for the rapid evelopment of the C+ language. Java technology has excellent versatility, efficiency, platform porta
5、bility, and security and is widely used in personal PC, data center, game consoles, scientific supercomputers, cell phones and the Internet. Whats more, Java has the worlds largest developer of professional community. In the global cloud computing and mobile Internet industry environment, Java has m
6、ore significant advantages and broad prospects.Therefore, this paper describes the development of object-oriented programming language Java and Eclipse development tools for aircraft war game. Firstly, it introduces research background, purpose and meaning, and telled Java development process and th
7、e current development status at home and abroad. Then introduces the Eclipse platform development environment and built environment, and finally tells the Java-based aircraft war game features implementation. Its function modules are as follows: the main interface module,Hero module,Enemy module,Bul
8、let module, and the detection module detecting a collision with the enemy bullets. We believes its Java-based aircraft war game would be welcomed greater.KeyWords:lightning,Game,Java,Eclipse目 录前 言1第一章开发技术和开发平台31.1Java语言特性31.2Java技术在游戏开发中的应用41.2.1绘图技术41.2.2游戏开发中的交互41.2.3基于AWT及SWING的游戏界面开发51.2.4多线程技术的
9、应用51.2.5Java网络技术的应用51.2.6Eclipse61.3开发平台搭建61.3.1安装JDK和Eclipse61.3.2JDK环境变量配置6第二章飞机大战游戏需求分析82.1用户需求分析82.2可行性分析82.3总体设计原则92.4功能模块设计102.5游戏难点分析10第三章飞机大战功能模块实现113.1项目模块介绍113.2游戏首页的实现123.2.1界面实现123.2.2核心代码133.3游戏战场实现143.4界面实现143.5核心代码153.6Hero移动模块实现163.6.1核心代码163.7子弹模块的实现183.7.1界面实现183.7.2核心代码183.8Enemy移
10、动模块实现193.8.1核心代码193.9敌机航线控制模块203.9.1核心代码203.10碰撞检测模块实现223.10.1战机碰撞界面223.10.2核心代码233.11积分显示模块实现253.11.1界面实现253.11.2核心代码25第四章软件测试284.1测试的定义284.2测试的重要性284.3测试方法284.4测试结果29结 论30致 谢31参考文献32附 录33前 言项目背景90年代的我们,对小时候的一些经典街机游戏肯定是印象深刻,像“飞机大战”、“超级玛丽”、“坦克大战”等,这些游戏伴随了我们童年,怀旧经典,常温这写经典的游戏,我选择了“飞机大战”作为设计的项目。而基于Java
11、语言开发“飞机大战游戏”,也是对大学知识的一次运用,本次的项目不但可以重拾儿时的回忆,也同样是对大学知识的一次回顾与复习。飞机大战游戏拥有所有游戏共通的成分。它们都有一个独立的循环体,这个循环体可以反复被执行,直到游戏退出。游戏的关键之处在于,Hero战机飞行要不断的发出子弹,而Enemy战机按一定的波次、按不定的速度随机的从对方袭来,在程序运行的过程中,要不断的判断Hero战机是否与Enemy战机相撞,子弹是否与Enemy相撞,最后根据战场的相撞情况,是否结束各个战机和子弹的生命周期。以后要做的所有的简单的游戏都要用到这些东西,所以学习这个过程并且实现它是非常重要的。当第一次完成它之后,以后
12、再做游戏是就能看出那个游戏有多难以及要花多长时间。如果没有完整的完成过这些,哪怕一次,就永远不能完整地正确领会其中的每个元素。当做大的项目时,就更不能确定其复杂星及所要的时间。如果甚至不能正确地领会这个过程(因为你没能完成它),可能是没能建立一个合适的时间表或估计合适的时间,更有可能的是不够努力。国内外研究现状Java作为一门成熟的编程语言,以其简单性、可移植性和平台无关性等优点,得到了广泛的应用,对于游戏开发来说,由于设计到比较复杂的情况,开发过程很多时候是一个不断修改的过程,可以方便的修改游戏内容是十分关键的。由于其虚拟机特性,java本身就可以用来编写游戏脚本,可天衣无缝的和java语言
13、进行交互,这些都极大的方便了java游戏编程。由于Java语言的可移植性和平台无关性等优点,如今,国内外对于Java在游戏设计开发的运用有两大方面:一个是手机游戏,一个就是web上的游戏开发,可见Java语言在其游戏开发方面尤其优点和独特性。如今正由于智能手机游戏市场发生重大的变化,ios不再独霸与市场,Andriod的市场正在不断的扩散。据国外媒体最新报道,Android智能机的市场份额为68%,远高于苹果的17%,用Java语言开发游戏也迎来了黄金期,特别是在手机游戏开发上。Java语言称霸企业级应用这么多年,事实证明了它非常适合于开发大型软件。如今Java在游戏开发领域,也正开始崭露头角
14、项目主要工作本次的开发内同基于Java的飞机大战游戏就是游戏与Java编程语言相结合的例子从游戏的基本玩法出发,主要就是Hero和Enemy的对决,首先应该有个界面来装载整个游戏,然后就是Hero的移动方式(键盘移动),接下来就是Hero子弹的生成,然后是Enemy的出现方式,然后Enemy的子弹生成,最后是Hero与Enemy的对战结果。该游戏要满足以下功能性需求:(1)Hero战机的控制。(2)子弹的控制(3)多种Enemy战机的出现方式(4)各种战机和子弹的碰撞情况的检测和控制(5)各个战机和子弹生命周期的结束控制第一章 开发技术和开发平台本软件涉及到的开发技术是Java,开发平台是Ec
15、lipse。因此,本章主要详细介绍用Java开发的特性和优势,以及开发平台Eclipse的合理配置。1.1 Java语言特性Java编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了C+语言面向对象技术的核心。Java舍弃了C+语言中容易引起错误的指针(以引用取代)、运算符重载,多重继承(以接口代替)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在Java1.5版本中,Java有引入了泛型编程,类型安全的枚举,不定长参数和自动装/拆箱等语言特性。Java不同于一般的编译执行计算机语言和解释执行计算机语
16、言。它首先将源代码编译成二进制字节码,然后依赖不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了Java程序的运行效率。(1)跨平台跨平台是指Java能运行与不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供与不同平台的接口的。(2)安全性Java的编程类似C+,学习过C+的读者将很快掌握Java的精
17、髓。Java舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样更可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。(3)面向对象Java吸取了C+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁星和便于维护性。类的封装性、继承性等有关对象的特性,使得程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和引用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。(4)分布式Java建立在扩
18、展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。(5)健壮性Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期,并且Java还提供了Null指针检测、数据边界检测、异常出口等功能。1.2 Java技术在游戏开发中的应用1.2.1 绘图技术Applet程序中所采用的AWT的绘图机制主要涉及三个方法:paint()方法,update()方法和
19、repaint()方法,update()方法和paint()方法都有一个Graphics类参数。Graphics是画图的关键,它可以支持两种绘图:一种是基本的绘图,如:画线、矩形、园等:另一种是画图像,主要用于动画制作。1.2.2 游戏开发中的交互一个优秀的游戏必定是与玩家不断的沟通,给予玩家充分的操作时间,而游戏又必须快速地,争取的对玩家动作做出反应,否则这样的游戏,不能称为一个好游戏。在Java游戏的开发中,往往使用事件处理器来进行设计。事件:用户对程序的某一种功能性操作。Java中的事件主要有两种:组件类事件、动作类事件。事件编程:用户编程定义每个特定时间发生时程序应做出何种响应,并且这
20、些响应代码会对应的时间发生时有系统自动调用。事件源是产出事件的组件。监听器是对组件所产生的时间做出具体响应的代码,即事件产出与处理分别由两个不同类加以编程实现。事件处理机制是AWT组件自身不编程处理相应的时间,而是交由时间监听器处理。事件适配器:由于事件监听接口是Abstract类型,意味着实现该接口的类应全都实现其各个成员函数,但实际应用中可能只需处理某些事件响应代码:此时再采用实现事件监听器接口可能会导致编程复杂。JDK中提供事件适配器方式来实现事件编程。1.2.3 基于AWT及SWING的游戏界面开发抽象窗口工具包AWT是API为Java程序提供的建立图形用户界面GUI工具集,AWT可用
21、于Java的applet和application中。它支持图形用户界面编程的功能包括:用户界面组件、事件处理模型、图形和图像工具、包括形状、颜色和字体类、布局管理器,AWT是SWING的基础。Swing的产生主要原因就是AWT不能满足图形化用户界面发展的需要。SWING是由100%纯Java实现的,SWING组件是用Java实现的轻量级组件,没有本地代码,不依赖操作系统的支持,这是他与AWT组件的最大区别。由于AWT组件通过与具体平台上相关的对等类实现,因此SWING组件具有更强的实用性。SWING在不同平台上表现一致,并且有能力提供本地窗口系统不支持的其它特性。SWING采用了一种MVC的设
22、计范式,即“模型-视图-控制”。1.2.4 多线程技术的应用线程简介:进程就是程序运行时的一个实例。线程可以看做单独地占有CPU时间来执行相应的代码的。在多处理机计算机上实现多线程时,它们可以并行工作,而且采用适当的分时策略可提高程序运行的效率。线程是共享地址空间的,也就是说多线程可以同时读取相同的地址空间,并且利用这个空间进行交换数据。Java实现多线程的过程:与其他语言不一样的是,线程的概念在Java是语言中重要的,根深蒂固的,因为在Java语言中的线程系统是Java语言自建的,Java中有专门的支持多线程的API库。在使用Java创建线程的时候,你可以生成一个Thread类或者其他的子类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 Java 飞机 大战 游戏 开发 33
限制150内