java手机游戏下载基于Java 的飞机⼤战游戏的设计与实现论⽂
摘 要
现如今,随着智能⼿机的兴起与普及,加上4G(the 4th Generation mobile
communication
,第四代移动通信技术)⽹络的深⼊,越来越多的IT⾏业开始向⼿机⾏业转移重⼼。⽽⼿机⾏业中游戏⽅⾯的利润所占⽐重较⼤,并且⼿机游戏⼤多数则是由Java语⾔开发研制的。所以我想顺应时代发展,⽤学到的Java知识对游戏进⾏⼀次深⼊的了解与创作。
Java语⾔在我们⼤学学习中占了很⼤的⽐重,其优点甚多:⾯向对象,可靠,安全,多平台可移植,⾼性能,多线程等。⾯向对象是相对于c语⾔的⾯向过程来说的,在⾯向对象编程中,我们⽤Java去新建⼀个对象,调⽤其⽅法就能实现我们的⽬标,并不需要了解这个对象的⽅法的具体实现过程;Java的可靠安全特点体现Java不⽀持指针,禁⽌第三⽅访问,杜绝了外部风险。所以使⽤Java开发游戏,是⼀个正确的选择。
⼤学学习即将结束,在毕业之际,我想⽤我4年⾥学习的知识为⾃⼰编写⼀个属于⾃⼰的游戏——飞机⼤战游戏,为我的⼤学⽣活画上圆满的句号。
关键词**:**Java游戏;⾯向对象;可靠安全;多线程
Design And Implementation Of Airplane Wargame Based On Java
Abstract
Nowadays, with the emergence and popularization of smart phones, plus 4 g (the 4
th Generation mobile communication, the fourth Generation mobile communication
technology) the development of the Internet, more and more in the IT industry
began to shift to the mobile phone industry center of gravity. Aspect of the
game of the mobile phone industry profits account for a large proportion, and
most mobile game is developed by Java language. So I want to keep up with the
development of The Times, use Java knowledge for an in-depth understanding of
the game and creation.
Java language learning in our universities accounted for a large proportion of
its many advantages: Object-oriented, reliable, secure, multi-platform portable,
high-performance, multi-threading. Object-oriented process-oriented with respect
to the terms of the c language, object-oriented programming, specifically we use
Java to create a new object, call its methods will be able to achieve our goal,
we do not need to know the object’s method of implementation ; reliable safety
features reflect Java Java does not support pointers to prohibit third-party
access, to eliminate the external risk. Therefore, the use of Java development
aircraft war game, is the right choice.
University coming to an end, on the occasion of the graduation, I want to use my
matlab2012下载four years studying knowledge and made themselves a game of their own - Aircraft
war game for my college life painting satisfactory conclusion.
Keywords: Java game; object oriented; reliable and secure; multi thread
1 引⾔
1.1 项⽬背景
源码下载 /hui-zong-1/
1
2
90后的我们,童年最开始接触电⼦游戏是在游戏厅,那时候的飞机⼤战游戏机前,往往⼈⼭⼈海,绚丽多彩的画⾯,带感操作让⼈沉醉不能⾃拔。再后来,珍珠港(Pearl
Harbor),虎虎虎(Tora! Tora!
Tora!)等空战电影中激烈的空战和飞机在天空中的英姿让我彻底爱上了空战,所以毕业设计我选择了与飞机战⽃有关——基于Java的飞机⼤战游戏的设计与实现的毕业设计。
⽽选基于Java的飞机⼤战游戏的设计与实现为题,是对⼤学期间学到知识的⼀次实践运⽤,也是对⾃⼰⼤学四年学习成果的⼀次检验。
柏拉图:“游戏是⼀切幼⼦⽣活和能⼒跳跃需要⽽产⽣的有意识的模拟活动。”亚⾥⼠多德给游戏的定义是:“游戏是劳作后的休息和消遣,本⾝并带有任何⽬的性的⼀种⾏为活动。”可以说,游戏是⼀种⼀直存在的社会现象,有了⼈类就有了游戏,⼈类与游戏息息相关。游戏也随着⼈类的进步有了新的发展。
PC机刚开始普及的时候,游戏并不能被⼴泛接受。最主要的原因就是不能充分发挥PC机的性能,即游戏程序不能最⼤化使⽤PC机的硬件资源,导致PC机的早起游戏画⾯差,操作感僵硬,可玩度不⾼,所以不被⼈们所接受。但是随着切硅的技术的提升导致CPU性能的飞跃及Java语⾔的开发,游戏程序对硬件资源的利⽤率的提⾼,现在游戏的各个⽅⾯都有了质的飞跃。⽐如20世纪末,暴雪公司下的《星际争霸1》掀起全球星际流,其操作感和画⾯打击感及游戏可玩性都有很⼤的提升。当然,除了游戏本⾝的优秀质量以外,可以较⼴的⽀持不同的硬件设备的功能也不容忽视,⾼中低端PC机都有不错的流畅度。
⽽飞机⼤战类游戏中起步较早的还要数由⽇本公司Cyber
Front研制并发⾏的雷电系列,该系列操作简单,节奏明快,因此,可以说成是飞机⼤战游戏类的经典
之作。该系列下的《雷电3》在2016年中旬从PS2平台移植到PC机平台上后,更成为当时风靡⼀时的游戏。
《雷电3》⼀共有8个关卡,分别是病变的森林,⽞武岩城市。岩⽯港湾,⾦⾊的沙漠,原⼦核⼯⼚,⼩⾏星带,⼤型宇宙舰和地⽅总部。的关卡不多,⽽且流程⽐较短,所以主要还是以刷新分数上限,挑战操作极限的⽬的为主,考验玩家的⼿速和反应能⼒,是⼀款极为经典的游戏,即使过去了⼗⼏年,《雷电3》仍然⼴受欢迎,各⼤应⽤商店的点击下载量还是很⾼,衍⽣出来的游戏更是数不胜数。
1.2 国内外研究现状
Java语⾔经过多年的发展,已经⼗分成熟。Java语⾔称霸企业级应⽤这门多年的事实证明了这门语⾔适合开发各种项⽬。当Java语⾔的运⾏效率随着发展再次提升了⼀⼤截后,Java语⾔的⼀系列优势就更加明显的体现出来了,⽐如:语⾔严谨,⾼抽象,可读性强等。
对于游戏开发,由于涉及到各种复杂的问题情况,经常遇到新的问题,所以在开发过程中,需要进⾏对代码进⾏不断的修改添加,这就需要可以随时随地的修改代码。⽽Java具有虚拟机特性,Java游戏本⾝也可以⽤Java来写,例如,⽬前的BeanShell,Groovy和其他脚本语⾔可以很容易地,⽆缝地与Java语⾔的互动,我们可以通过脚本随时对游戏进⾏添加与删除,不必要重新开发某个模块。这是⼤⼤⽅便了Java游戏编程。
在游戏的发展中涉及到了⼤量的Java技术,某些技术现在已经淘汰,但是也有些技术⼀直在使⽤。如Sun公司较早推出了3D技术–
Java3D,是⼀个⾼度封装的API,OpenGL和Direct
3D都是基于Java3D的,可以说是最有名的3D
Java技术;Jogl函数则是opengl接⼝对Java的实现;lwjgl函数(light weight Java game
library)是将游戏图形(opengl)、⾳效(openal)、控制输⼊集合为⼀,以成为Java界的directx(不是direct3d)⽽努⼒;joal函数则是Java对openal的⼀个绑定,是Java⾳效的⼀个解决⽅案;jinput函数是Java对⾮标准输⼊设备(游戏⼿柄,操纵杆)的解决⽅案;Project Wonderland是Sun开发的⼀个3d虚拟世界构建⼯具等。
由于VR(Virtual
Reality)虚拟现实的发展,对游戏的发展影响巨⼤。科幻电影⼩说中的科幻游戏玩法有可能成为现实,未来游戏也许不需要⿏标键盘,只需要⼀个类似VRBox的头盔设备即可完成指令的输⼊与输出。
1.3 项⽬主要⼯作
本次项⽬的题⽬——基于Java的飞机⼤战游戏的设计与实现,主要⽬的是实现飞机⼤战这个游戏。期望结果:游戏⽆BUG(现在⼈们将在或程序中,隐藏着的⼀些未被发现的缺陷或问题统称为BUG——漏洞),简单易上⼿,⽼少皆宜,让玩家“玩不释⼿”。
从游戏的玩法来说,主要就是我⽅飞机(Hero airplane)和敌⽅飞机(Enemy
airplane)的对决,⾸先是游戏的开始界⾯与结束界⾯,然后就是我⽅飞机(Hero发卡网源码最新版
airplane)的移动⽅式(⿏标移动或者键盘移动,我打算选择⿏标移动,因为⿏标移动可以转移到⼿机上,现在⼤多数⼿机都没有键盘,基本靠⼿指滑动操作),接下来就是我⽅飞机(Heroidea是什么意思中文翻译
airplane)⼦弹的⽣成,然后是敌⽅飞机(Enemy
airplane)的出现坐标的选择,然后飞机与⼦弹防碰撞,飞机与飞机的防碰撞,最后是我⽅飞机(Hero
airplane)与敌⽅飞机(Enemy airplane)的对战结果。
该游戏要满⾜以下功能性需求:
(1)游戏状态控制功能
游戏的状态控制包括运⾏、暂停、恢复及结束游戏,⾸先是游戏的开始页⾯,在游戏正在进⾏时,如果你有其他的事情⼜不想结束游戏你可以将⿏标移出游戏界⾯或者⿏标在游戏界⾯单击即可暂停游戏,当你的其他事情解决后你还可以选择恢复游戏,继续玩下去,当游戏结束时会显⽰游戏结束界⾯。
(2)游戏难度的调整
玩家随着玩游戏的时间的增加,敌⽅飞机的数量会增加,出现的频率会有所提⾼,移动速度也会提⾼。
(3)游戏界⾯绘画功能
在右上⾓显⽰游戏时间(游戏难度于时间成正⽐,即游戏时间越长难度越⾼),玩家游戏得分,与我⽅飞机⽣命值,游戏主屏⽤来显⽰玩家对我⽅飞机(Hero
airplane)的控制与敌⽅飞机(Enemy airplane)的出现及移动的显⽰。
(4)玩家游戏控制功能
玩家可以通过控制移动⿏标或者键盘来控制友机的移动。
1.4 本⽂组织结构
本⽂的组织结构如下:
第⼀部分介绍了本⽂的国内外背景。
第⼆部分介绍了开发游戏项⽬涉及到的软件平台与开发语⾔。
第三部分介绍了项⽬的需求分析。
第四部分介绍了项⽬各个模块的实现。
第五部分介绍了对软件测试的过程及结果,到项⽬的优缺点。
2 开发平台与开发技术
本章主要介绍软件开发平台如何选择。本软件涉及到的开发平台是,开发技术是Java技术。下⾯将会介绍⼀下选择的理由。
2.1 简介
是⼀个
(IDE),⽤于开发各种项⽬的计算机软件。它是由(原名的)开发的,个⼈版被许可,商业版则是作为专业版,可以⽤来进⾏⼤型的商业开发。
的第⼀个版本发布于2001年1⽉,并且是第⼀个具有先进的代码导航和⼀个的综合能⼒的Java
IDE。
对于系统的要求:微软的Windows
10/8/7 / Vista/ 2003 / XP(incl.64位),最少1 GB内存,2 GB RAM(推荐),300
MB硬盘空间+⾄少1 GB的⾼速缓存,1024×768的最⼩屏幕分辨率。
IntelliJ IDEA特点:
1.编码提⽰ IDE可以进⾏代码提⽰,⽐如:结合上下⽂对当前代码进⾏补充;代码导航,可以快速定义到某个声明过的类;代码错误提⽰,对于代码错误的地⽅进⾏提⽰并且提供有效的解决⽅案。
2.内置⼯具和整合 IDE提供了构建与打包⼯具,如grunt , bower , gradle , 和 SBT 。它⽀持系统,如 GIT , Mercurial , Perforce , and SVN 。可以直接从IDE对,,和进⾏访问。
3.各种各样的插件系统 ⽀持插件,通过插件可以对IDE添加额外的功能。⽆论是从的插件库⽹站或通过IDE的内置插件,都可以进⾏搜索插件和插件的安装。⽬前的个⼈版则拥有1495个可⽤的插件,其中IDE的旗舰版则拥有1626个可⽤的内置插件。
2.2 与Eclipse 的⽐较
我们⼤学学习中,对于Java的开发⼯具⼀般都是选择
Eclipse,MyEclipse开发⼯具。Eclipse是Sun公司⾃⼰开发的Java开发⼯具,优点在于简洁没有插件,⽤户可以根据⾃⼰的需求⾃⼰寻安装合适的插件,同时这也是它的缺点,没有提供插件,某些开发就会让⼈感觉不⽅便,并且插件都是个⼈开发,并不是适合所有⼈。MyEclipse则需要收费(虽然⽹上有破解版,但是并不提倡,⽀持正版从你我做起),它实际上是将eclipse和其他常⽤插件集成在⼀起的⼀个庞⼤开发⼯具,优势就是常⽤插件齐全,不⽤⾃⾏下载安装,当然⽀持⾃⼰扩展,劣势就是插件太多导致软件繁重,运⾏时占⽤系统太多资源,当然他是收费的(对于学⽣来说这个是致命的)。
更为优秀的原因是:更为智能,更贴合⽤户。以下进⾏详细说明。
1. 调试
作为调试过程的⼀部分,我们通常希望选中⼀些表达式来查看它的值。在Eclipse中,你需要选择这种表达,并且准确选择整个表达式是很重要的,否则在Eclipse中⽆法评估它。在中,你只需按下有关快捷键,即可看到表达式的值。
2. ⾃动完成
⾃动完成功能的好坏是区分任何IDE的标杆。在这⽅⾯的感觉的背景下,则有⼀个定性的优势。不等待任何按键,⽐如,当你输⼊⼀个⽅法函数是,它⽴刻会明⽩⽅法函数希望将某个定义过的类作为第⼆个参数,这时会有⼀个静态变量在类名处呈现可见状态。对于⽤户来说,提供建议和想法是⼀个的确不错的做法。但是Eclipse做不到,Eclipse只能理解你当前输⼊的字符,并不能与前边的联系起来。
3. 重构 专业编程⼈员如果利⽤的IDE提供的重构将会事半功倍。所有IDE提供了⼀个⽤处⾮常⼤的重构。但话⼜说回来,IDEA的重构是
⾮常智能的。它知道你想要什么,并提供了⼤多数情况下适⽤的不同的建议选项。
如果我们选择⼀个Java IDE作为开发⼯具,那么肯定⽐Eclipse的更好。这不只是⼀个个⼈品味的问题。客观来说IDEA的确是第⼀选择,它可以让你快速,⽅便地编写和修改代码,建议适当的函数,提供适当的⽅法。它不要求你准确选择表达式,但会猜测你想要做什么,。
2.3 Java
Java是⼀个通⽤计算机编程语⾔,是并发的,类型,⾯向对象的。它的⽬的是让应⽤程序开发者“⼀次编写,到处运⾏”,也就是说Java 可以在任何设备上开发,也可以在任何装有Java虚拟机(JVM)设备上运⾏,⽽⽆需再次编译。
Java应⽤程序通常被编译成字节码可以在任何装有Java虚拟机上(JVM)的计算机体系结构上运⾏。
截⾄2016年,Java是最流⾏的编程语⾔之⼀,特别是对于客户端,服务器的Web应⽤程序,有报道称有900万开发者在使⽤Java语⾔进⾏开发。Java是由詹姆斯·⾼斯林在Sun
Microsystems(这已经被甲⾻⽂公司收购)创造的,并于1995年发布,作为Sun
Microsystems的Java平台的核⼼组件开发,Java语⾔多从C和C ++中语法派⽣出来的。
最初有Sun公司对参考实现Java的编译器,虚拟机和类库下发专⽤许可证。截⾄2007年5⽉,按照Java社区进程的规章制
度,SunRelicensed
php文件运行环境
GNU下⼤部分的Java技术都在通⽤公共许可证下。其他⼈也开发了Java软件替代和实现了Sun公司下的⼀些技术,如GNU
Java编译器(字节码编译),GNU
Classpath(标准库)和IcedTea项⽬的Web(浏览器插件⼩程序)。
⽬前(2016年6⽉)Java的最新版本是第8个版本,这是⽬前Oracle⽀持免费的唯⼀版本,单早期版本都是由甲⾻⽂等公司在商业基础上的⽀持的。
詹姆斯·⾼斯林,迈克·谢⾥登和帕特⾥克·诺顿启动Java语⾔项⽬是在在1991年6⽉,Java最初设计则是⽤于交互式电视,但它相对于在当时的有线数字电视产业过于超前。后来该项⽬⼜由名称Green并最终改名的Java,从Java咖啡(来⾃⽖哇的⼀种咖啡)得名。⾼斯林设计的Java与C
/ C ++ 语法风格相似,系统和应⽤程序的程序员会发现⼆者有很⼤程度的相似点。
Sun Microsystems公司在1995年发布了第⼀个公开的实⾏版本Java
1.0,它承诺“⼀次编写,到处运⾏”(WORA)。其相当安全,并设有配置的安全标准,它对⽹络和⽂件实⾏访问限制。主流浏览器很快将Java程序的能⼒纳⼊到⽹页中运⾏,导致Java迅速⾛红,然⽽⼤多数是外⾯的浏览器,但是这并不是原来的计划,所以在2016年1⽉,甲⾻⽂宣布,基于JDK
9 Java运⾏时环境将不再⽀持浏览器插件。Java
1.0编译器由亚瑟·范·霍夫重新⽤Java编写,严格遵守Java 1.0语⾔的规范。Java
2,新的版本可以在不同类型的平台搭建不同的配置。
J2EE包括⾯向企业级应⽤的技术和通常在服务器环境中运⾏的API,⽽J2ME对API功能的移动应⽤进⾏了优化,桌⾯版改名为J2SE。在2006年,出于营销⽬的,将新版本J2分别命名为Java
EE,Java ME,和Java SE。
1997年,Sun Microsystems加⼊ISO/ IEC JTC
1标准组织,后来的ECMA国际组织要求Java正式化,但它很快就从组织中退出了。但Java仍然是⼀个事实上的标准,控制Java社区的标准。
2006年11⽉13⽇,Sun在GNU通⽤公共许可证(GPL)条款⽀持下将其Java虚拟机(JVM)公布于众。
2007年5⽉8⽇,Sun完成了开源的所有过程,在⾃由软件/开源分发条款下放出了它所有的JVM的核⼼代码,除了从Sun未持有版权的⼩部分代码。三大范式
2010年4⽉2⽇,詹姆斯·⾼斯林(Java的主要创始⼈)从甲⾻⽂公司辞职。
3 可⾏性研究
可⾏性研究顾名思义,研究其的可⾏性。可⾏性研究是项⽬开发之前的重要阶段。在软件开发实践中,软件开发⼈员或者⽤户对市场的了解不充分,对技术的掌握不好,对进⾏开发的各项风险评估不⾜等因素,有些问题不能再预期下得到解决,造成不可预估的损失,为了避免盲⽬的软件开发和不必要的损失,相关⼈员需要对开发特定软件项⽬的可⾏性进⾏研究,结合资⾦、时间和环境等各⽅⾯的制约条件,对该软件产品是否能够解决存在的问题,是否能够带来预期的效果和价值做出评估。
3.1 技术可⾏性
现在开发游戏的语⾔⼀般都是Java语⾔,为了保证开发出来的游戏可以在⼿机、Web浏览器、PC客户端等平台使⽤,所以就要求开发语⾔可以在多平台移植,⽽Java语⾔刚好符合这个特性。开发⼯具可以下载并且可以免费使⽤,Java的编译⼯具JDK也可以在Sun官⽹上直接下载安装,其过程⼗分简单。
3.2 经济可⾏性
配置较低的电脑也能进⾏Java游戏的开发,⼀台电脑就⾏,开发成本低。由于Java具有跨平台以及⼀
次编译,到处运⾏的特点,开发出来的游戏可以放到各⼤游戏平台上发售,玩家可以在电脑,浏览器,⼿机等各种平台运⾏。⽽且软件维护简单,实⽤性强,⼀次开发使⽤,即可长久使⽤,当软件满⾜不了⽤户需求时,只需对⽤户的需求进⾏添加即可。
3.3 操作可⾏性
本游戏操作简单,在电脑和浏览器上可以⽤⿏标键盘操作,在⼿机上可以⽤⼿触摸屏幕运⾏。
3.4 ⽤户使⽤可⾏性
本软件操作简单,对⽤户的要求,不需要多强技术能⼒。
3.5 法律可⾏性
信息产业部已将游戏通⽤引擎研究及⽰范产品纳⼊国家“863计划”,这是中国⾸次将游戏技术纳⼊国家科技计划当中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论