下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于Java的飞机大战游戏的设计与实现论文

基于Java的飞机大战游戏的设计与实现论文.doc

基于Java的飞机大战游戏的设计与实现论文

李志浩
2017-09-26 0人阅读 举报 0 0 暂无简介

简介:本文档为《基于Java的飞机大战游戏的设计与实现论文doc》,可适用于高等教育领域

基于Java的飞机大战游戏的设计与实现论文职场大变样社区(wwwzcdbycom):下载毕业设计成品职场大变样社区(wwwzcdbycom):下载毕业设计成品全套资料全部元以下毕业设计(论文)任务书第页职场大变样社区(wwwzcdbycom):下载毕业设计成品毕业设计(论文)题目:基于Java的飞机大战游戏的设计与实现毕业设计(论文)要求及原始数据(资料):(综述基于Java的飞机大战游戏的现状(深入了解Java的设计与实现的相关技术(熟练掌握Java开发工具的应用分析训练编写游戏程序的能力(设计并实现游戏中针对某一场景的研发(深入分析游戏设计中的关键技术与Java编写语言(训练检索文献资料和利用文献资料的能力(训练撰写技术文档与学位论文的能力。第页职场大变样社区(wwwzcdbycom):下载毕业设计成品毕业设计(论文)主要内容:(综述基于Java的飞机大战游戏的现状(了解Java的设计与实现的相关技术(熟练掌握Java开发工具的应用分析训练编写游戏程序的能力(设计并实现游戏中针对某一场景的研发(深入分析游戏设计中的关键技术与Java编写语言(熟练掌握基于Java语言的游戏编写(设计与实现针对某一对象类的设计的程序。学生应交出的设计文件(论文):(内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文(包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。第页职场大变样社区(wwwzcdbycom):下载毕业设计成品主要参考文献(资料):杨大生,陈忠基于Symbian平台飞机大战游戏设计J福建电脑,():谢海军基于Java的手机游戏引擎的研究及实现D西南交通大学,马鹏强基于JME的手机五子棋游戏设计与实现D电子科技大学,周凤英,文惺Java游戏开发起步J电脑爱好者,():,陈立伟精通Java手机游戏与应用程序设计M中国青年出版社,丁知平,罗光华,陈传起,等基于项目驱动的Java手机游戏开发教学方法的探讨J科技信息:科学教研,():陈小玉基才JME的Java手机游戏开发实例J电脑编程技巧与维护,RossJMGuidingstudentsthroughprogrammingpuzzles:valueandexamplesofJavagameassignmentsJAcmSigcseBulletin,,():WangYH,WuIC,JiangJYAport开发或以其他方式投资一个软件产品时软件测试可以评估它的最终用户购买者或者其它利益相关者是否会接受该软件产品。软件测试是试图评估这一信息的过程。并非所有的软件缺陷是由编码错误引起的。往往因为一些错误会付出巨额的代价这些错误常见的原因之一就是出现在需求方面例如程序员没有完全理解需求从而导程序设计开发时与用户出现分歧。需求的差距往往来自非功能性需求如可测试性可扩展性可维护性可用性性能和安全性。软件故障在下述情况是发生:程序员犯了一个错误(失误)这将导致在本软件的源代码中出现一个缺陷(故障错误)如果执行这种有缺陷的代码在某些情况下系统会产生提示出现错误从而引起了故障。当然并非所有缺陷都将导致故障的发生。职场大变样社区(wwwzcdbycom):下载毕业设计成品例如死代码缺陷永远不会导致故障。当环境变化时的缺陷可以成为一个失败的关键。这些在环境变化的例子中包括软件在新的计算机硬件平台运行源代码的改变或用不同软件进行交互一个简单的缺陷可能导致一个软件的失败。软件测试的基本问题是:即使一个简单的产品用所有的输入组合和先决条件(初始状态)进行测试是不可行的。这意味着一个软件产品的缺陷数量可以是非常巨大的而且很多缺陷是难以在测试中发现的。更重要的是非功能性的属性(它应该做什么与它如何做)如可用性可扩展性性能兼容性可靠性是高度主观的一个人可能接受其中一个属性的价值却不能认同另外一个。软件开发人员无法测试所有的东西(所有的输入组合和先决条件)但他们可以使用组合测试设计来确定他们想要覆盖测试所需的最小数量。组合测试设计使用户用很少的测试用例能够获得很大的测试覆盖率。他们可以使用组合测试设计的方法来构建他们的测试用例是他们的测试速度与测试深度有很大的提升。测试方法软件测试可用许多方法。回归演练或校对被称为静态测试而实际执行程序代码与给定的测试案例被称为动态测试。静态测试往往是隐含的如校对再加上编程工具文本编辑器查看源代码结构或编译器(预编译器)检查语法和数据流的静态程序分析。当程序在运行时动态测试发生。动态测试可以在程序完成前开始测试以便测试特定的代码也可以应用于分散的功能或者模块中。这个典型的技术使用驱动程序或在调试环境下执行。程序测试的主要方法分为两大类:白盒测试和黑盒测试。白盒测试(也称为清晰盒测试玻璃盒测试透明盒测试和结构测试)可以观察源代码测试内部结构或程序的运作而不是暴露终端用户的功能。白盒测试系统用于设计测试用例以及透视内部编程的技巧。测试器通过选择路径输入代码来确定相应的输出。这类似于在测试一个电路节点例如:电路测试(ICT)。而白盒测试可以应用于单元测试集成测试和系统测试的软件流程但是它通常在单元级别进行的。它可以在集成单元和子系统之间的测试路径上进行系统级别的测试。虽然这种方法测试设计可以发现许多错误或问题但是它可能无法规范检测到或遗漏需求分析未实现的部分。职场大变样社区(wwwzcdbycom):下载毕业设计成品在白盒测试中使用的技术包括:,API测试通过公共和私人的应用测试的API(应用程序编程接口),代码覆盖率创建测试以满足代码覆盖率的一些标准(如:测试设计人员可以创建测试以使程序中所有的语句至少执行一次),故障注入方法有意引入故障来衡量测试策略的效果,突变检测方法,静态测试方法代码覆盖工具可以评估任何方法包括创建了一个完整的测试套件的黑盒测试方法。这允许软件团队可以很少对测试进行检查只确保对最重要的一个系统的部分功能点进行检验即可。代码覆盖率常作为衡量测试好坏的指标甚至用代码覆盖率来考核测试任务完成情况:,功能覆盖函数是否执行,语句覆盖语句是否执行,判定覆盖对程序中每个判定条件的真分支和假分支至少进行一次判定,的语句覆盖确保所有的代码路径或分支(在以下方面控制流程)至少执行一次。这对于确保功能的正确有很大的帮助但是对于相同代码有可能因为输入的不同而有不同的结果。黑盒测试把软件作为一个―黑盒子‖具有审查的功能而有关内部实现的任何细节都不清楚也看不到其源代码。该测试人员只了解该软件的功能与作用而不清楚它是如何具体实现的。黑盒测试方法包括:等价类划分边界值分析全局测试状态表转移决策表测试模糊测试基于模型的测试用例测试探索性测试和基于规范的测试。基于规范型的测试旨在去测试软件关于适应性要求方面的功能。这种级别的测试通常需要测试人员提供全面的测试用例然后只需验证其中一个给定的输入值输出值(或行为)不管在测试用例中与期望结果是否相同。测试用例的选取是建立在规范和要求下的也就是说应用程序应该做什么。它使用的软件的外部描述包括规格要求和设计以获取测试用例。这些测试虽然有时有用有时无效但是通常是有用的。基于规范的测试可能只能检测其功能的有效性和正确性但它不足以应对复杂或高风险的情况。职场大变样社区(wwwzcdbycom):下载毕业设计成品黑盒测试技术的一个优点是不需要专业的编程知识。即使编写程序的编程人员与测试人员有鸿沟一般的编程差距但是测试人员总能从不同的方面给出相应的建设性意见。在另一方面黑盒测试的过程可以被说成是―摸着石头过河。‖因为不需要检查程序的源代码所以在某种情况下测试人员需要写很多测试用例来检查程序但是该程序只能被一种测试用例来测试或者只能测试程序的部分功能。测试的这种方法可以应用到软件测试的各个方面例如:单元测试集成测试系统测试和验收测试。它虽然不能包括测试过程中的所有流程但是在单元测试中却保持着绝对的优势。测试结果软件评价是指软件在正式运行了一段时间之后对它在功能上、技术上和经济上所进行的审核评价。针对本软件的评价如下:()软件功能评价根据这套软件开发前的目标试运行完成后软件后软件达到了预定的发展目标在实际使用功能可满足用户的需求。()软件技术评价该软件设计合理功能达到预期目标软件后运行稳定可靠安全实用。()软件经济评价在规定时间内该软件完成后软件分析以确定软件的发展目标符合设计要求投入使用为用户节省了大量的人力物力和财力提高科学管理水平。职场大变样社区(wwwzcdbycom):下载毕业设计成品结论本次毕业设计到此已经顺利结束。通过这次毕业设计我学习到了很多东西。在以前的三年课程中我学到了很多课程从开始的计算机理论基础到C语言数据结构CJava数据库系统概论等。虽然通过学习对这些课程都是比较肤浅的了解而且也只是停留在堆理论只是的理解阶段对其掌握程度还不够前面和熟悉。这次毕业设计使我将大学四年中所学的课程贯穿整合起来同时在设计中还涉及到一些之前没有学习过的新知识。对这些新知识的学习培养了我快速自学和应用新知识的能力。本次毕业设计不仅仅是我对所学知识的一次综合应用更是对我综合分析试剂问题、处理实际问题的能力的培养和锻炼。本次设计运用了Java相关知识及软件工程的思路进行开发。在实现功能的同时更加侧重于对开发Java游戏的研究。由于时间、条件有限经验不足等本文所做的工作还有很多不足之处还需要进一步学习和研究。职场大变样社区(wwwzcdbycom):下载毕业设计成品参考文献杨大生,陈忠基于Symbian平台飞机大战游戏设计J福建电脑,():谢海军基于Java的手机游戏引擎的研究及实现D西南交通大学,马鹏强基于JME的手机五子棋游戏设计与实现D电子科技大学,周凤英,文惺Java游戏开发起步J电脑爱好者,():陈立伟精通Java手机游戏与应用程序设计M中国青年出版社,丁知平,罗光华,陈传起,等基于项目驱动的Java手机游戏开发教学方法的探讨J科技信息:科学教研,():陈小玉基才JME的Java手机游戏开发实例J电脑编程技巧与维护,RossJMGuidingstudentsthroughprogrammingpuzzles:valueandexamplesofJavagameassignmentsJAcmSigcseBulletin,,():WangYH,WuIC,JiangJYAportableAWTSwingarchitectureforJavagamedevelopmentJSoftwarePracticeExperience,,():–ZhuYDesignandimplementationofaJavagameappletJComputerScienceSoftwareEngineering,职场大变样社区(wwwzcdbycom):下载毕业设计成品致谢本研究及学位论文是在我的导师的亲切关怀和悉心指导下完成的。从课题的选择到论文的最终完成老师都始终给与我细心的指导和不懈的支持老师为人随和热情多次询问我的毕设进程为我指点迷津帮助我开拓新的思路精心点拨。老师一丝不苟的作风严谨求实的态度踏踏实实的精神让我受益终生。正是由于老师的帮助与鼓励我的毕业论文才能够得以顺利完成。在即将答辩之际老师还传授我答辩的技巧与知识为我指出了论文中的不足并手把手指导修改论文。再此谨向老师表示崇高的敬意和衷心的感谢。感谢我的同学在我创作论文的道路上提供的帮助他们给予了我很大的帮助让我将很多快要遗忘的知识加深了一次并指出了我很多的缺点让我及时改正。感谢学校为我提供了很好的住宿环境让我可以心情舒畅学习效率翻倍。感谢我的家人多次电话给与我帮助给予我支持。再次感谢所有为我提供帮助的所有人。职场大变样社区(wwwzcdbycom):下载毕业设计成品外文文献JavaGameDevelopmentStatusandTrendTheseyearsduetothecontinuousdevelopmentofJavatechnology,Javaprogramsrunspeedhasbeensignificantlyimproved,whilealsocontinuetoprogressinhardwaretechnology,whichmakestreatmentmorecomplexJavaDgraphicspossibleAppearsLwjgl,Jogl,JavaDandothertechnologies,soyoucaneasilyuseJavalanguageisnowincreasinglypowerfulgraphicshardwareaccelerationInfacttherearealreadymanyJavabasedDandDgames,manyofwhomaremassivelymultiplayeronlinegamesTheabovearejustasmallpartoftheJavagamesHowever,eveniftherearemanyotherJavabasedgames,relativetotheentiregamingindustryisconcerned,Javagamingcommunityisstillverysmall,sothatitsstrengthinareasoutsideofmobilegamescanbealmostnegligibleButinfactJavaasaprogramminglanguageandplatformgames,ortheseyearshasmadeconsiderabledevelopmentintheeraaftertheappletwalkedtheroadtorecoveryOfcourse,Javacandogames,doesnotmeanthatJavasuitableforplayinggames,then:JavaforagameofsignificanceJavaisanafterfulldevelopmenthasbeenverymaturelanguageJavalanguagedominatetheenterpriseapplicationsforsomanyyears,ithasprovedverysuitableforlargescalesoftwaredevelopmentWhentheJavaruntimeefficiencyisnolongeraproblem,Javalanguagerigorous,highabstraction,readableadvantageismanifestedThisincreasinglylargescalegamesoftware,withnosmalltemptationJavaasaplatform,whichgreatlyfacilitatestheuseofthegamescriptForgamedevelopers,becausethecaseinvolvesmorecomplex(andsometimesevenaestheticissues),developmentprocessmanytimesisaconstantprocessofrevision,youcaneasilymodifythegamecontentiscriticalForsomethingalotofgameengineshavetheirownwrittenscriptinterpreter,toexplainsomecustomgamescriptinglanguage(usuallycommandstylescript,suchasmoveplayer(intx,inty),playersmile()like),whileothersprovide,forexample,andthelikeluascriptinglanguagetoaccessrubbygameengineDueto职场大变样社区(wwwzcdbycom):下载毕业设计成品itscharacteristicsofavirtualmachine,Javaitselfcanbeusedtowritethegamescript,forexample,currentlybeanshell,groovyandotherscriptinglanguagescanbeeasilyandseamlesslyinteractwithJavalanguage,whicharegreatlyfacilitatetheJavagameprogrammingCrossplatformCrossplatform,Javaandtimewhenevercompareotherlanguages,alwaystalkingaboutcrossplatformHowever,Javagaming,writeonce,runeverywhere,itsoundsmorelikeajokeThisjokehowcoldit(Iamnotfamiliarmobilephonegames,butdoessomeonewith"painful"todescribedevelopedtorunondifferentmobilephoneJavagamegame)formostotherJavagames,ortodeployorthroughJavawebstartappletbytwowithoutexception,tobeusedinthewaythebrowserForJavawebstart,theproblemisrelativelysmall,theprogrammermustdealwiththemainproblemishowtomakenonprofessionaluserstosuccessfullyinstalltheJREversionspecifiedtheproblem,althoughalotoftrouble,butitcanbesolvedFortheapplet,theproblembecomesmorecomplex,manyproblemsonlywhenaspecificbrowsertoappearinaparticularoperatingsystemcoupledwitheventhesamebrandofbrowser,differentbrowserversionswillalsoappeardifferentproblems,whilethereisalsotheclientdefaultistouseopenglpipelineordirectdrawpipelineproblemsAndwehavenotevenbeguntodiscussthegamewhenthedgraphicsAPIunderlyingneedtousethetime,whetheritisorwebstartappletusedonceinanyprogramopengltheJavabinding,theclientisdifferentandthesamegraphicsgraphicscardswillbringthedifferentdriversofdifferentproblems,andtheseproblemsareasdifferentoperatingsystemsandbrowsersanddifferentoperatingsystemafew×browserseveral(webstartdoesnotneedtoconsiderbrowser)××percardnumbertheaverageofseveralgraphicsdriverversion=nightmareFinally,youhavetocompromiseonsucharealityevencomputerhardwaretomeettherequirementsoftheprogram,youcannotmakeyourapplicationrunineverystageofthesecomputers,unlessyourusersareprofessionalsOfcourse,infact,thestatusquodoesnotsoundsobad,donotuseJavaformostgames,thereisonlyrunonaplatformofmanygamesdirectxoropenglversionisrequired,nottomentionthoserunninginthehomegameconsolesonthecrossplatformisamajorproblemthroughoutthegamesindustry,Javaisjustlikeeveryoneelsedoesnotsolvethisproblemout职场大变样社区(wwwzcdbycom):下载毕业设计成品ofit,butstilldoingbetterthanothertechniquesHowever,itisworthmentioningthatinthosenotdirectlyusinghardwareacceleratedwebgames,Javaisindeedinthestabilityandeaseofinstallationonthelostflashintheconsoleaspect,Javais,andMicrosoft'sXNA(C#)acrossXboxandVistaNetworkJavahasalwaysbeenstrongintermsofproblemsolvingnetwork,inthisregard,Javahastwomainadvantages,firstisbasedontheappletandtheJavawebstartofthegameisveryeasytoupdate,notlikeothergamesthatrequireuserstomanuallydownloadthenewversionthefirstSecond,JavaisrelativelyfriendlyandinteractivenetworkAPI,andforlargescaleonlinegames,thedistributedsystemisveryimportant,thisistheJCPgiantslike,probablybecausethisisagoodopportunitytosellhardware,Sununderalotofefforttodeveloptheprojectdarkstaronlinegameservertodo,sincetheprojecthasyetto,sonowitisdifficulttosayspecificallygoodorbadSpeedThisisnothingtodiscuss,JavabasedpayhugegameswouldsurelybewellwrittenCprogramslowly,ofcourse,towriteagoodCprogramtakesalsoJavacannotcompareThemaintechnicalJavagamesJavaDThecompanyintroducedearlierasaSundtechnology,isahighlyencapsulatedAPI,openglandbuiltondirectd,arguablythemostfamousofthedJavatechnologyForvariousreasons(APIdesignforusersisnotclear),Javadhasnowaytopopular,recentJavadteamannouncedthesuspensionofthedevelopmentofnewfeaturesforJavadfavorofdrenderingenginefortheJavaFXdevelopmentWhileanotherprojectprojectSun'swonderlandannounceditisrenderingenginefromtheJavadintoJMonkeyEngineItissadthatonceagainintotheSun'sJavaddustystate,alargenumberofprogramsandtutorialsbasedJavadarefacingaveryawkwardpositiongoodnewsisfinallyinthisareabetterthantheSunappearedintheteamOtherscitedtheevaluationofthematter:JavaDisdeadLongliveJava"D"!!LwjglFullnameislightweightJavagamelibraryAsanunofficialJavagamesona职场大变样社区(wwwzcdbycom):下载毕业设计成品comprehensivesolution,lwjglthegamegraphics(opengl),audio(openal),acontrolinputissettobecomedirectxJavacommunity(notdirectd)effortsWhichusesaJavabindingonopenglgraphics,itsfunctionandclanguageversionofthesame,soforprogrammersaccustomedtoopenglprogrammingmorefriendlyTherearealargenumberofJavagamesandgameengineisbasedonlwjgl,itcanbesaidthatJavagamingcommunityisoneofthemostwidelyusedbythelibraryJoglJoglisaJavabindingonopengl,opengloraJavaimplementationoftheinterface,whichissupportedbytheSunThesyntaxisexactlythesameasopengl,APIalsokeepupwiththeupdatedversionofopengl,butmostofNehe'sopenglexampleprogramshavejoglversionLastyearjoglformalreviewbyjcpbecomejsr,isthemaincompetitoroflwjglItisworthmentioningthattheprojectleaderKenRussellhadjogldeclarationdoesnotwanttobecomepartoftheJREjogl,becausehethoughtthiswouldjoglupdatecycleandthesameJRE,sothatitbecomestooslowKenRusselliscurrentlyoperatingatfullcapacityinthenewJavaplugindevelopment,whiletheAPIopengldidnotchange,sonowjoglversionwilllastforalongperiodoftimeJoalJavaforopenalofabindingsolutionisaJavasoundJinputJavafornonstandardinputdevices(gamepads,joysticks)solutionsJMonkeyEngineJMonkeyEngineisanopensourceJavagameengine,theunderlyingheightpackage,afteryearsofdevelopment,inOctoberlastyearhasfinallyreleasedtheversionPostedinJavaconferenceonquiteshockingdemonstrationvideosobroadinterest,itsaidthatmanyscreeneffectsarealsothevenuebyitscompletionAtthebottom,JMonkeyEngineadoptedlwjgl,whilejoglmaybesupportedinversionLastyear,thefamousonlinegamecompanyNCSoft(developersParadiseSeries,GuildWars,CityofHeroes,TabulaRasaandothergame)willJMonkeyEnginethreemajordevelopersmoveintothearm,perhapsinthenearfuturewecanseetheenginecommercialversionItisworthmentioningthat,afterservingNCSoft,themaindeveloperoftheenginenowclaimedtohavemoretimeforopen职场大变样社区(wwwzcdbycom):下载毕业设计成品sourceversionofgameenginedevelopment,andthecurrentspeedofdevelopmentJMonkeyEngineindeedsignificantlyimprovededitionpossiblewillbereleasedlaterforsometimeInaddition,thedevelopmentprojectwonderlandbytheSunwillmakeitsrenderingengine,recentlyannouncedbytheJavadintoJMonkeyEngine,soJMonkeyEnginefurtherattractedwidespreadattentionProjectDarkStarCurrentlyProjectDarkStartoversion,isdesignedforapplicationsSunonlinegameaspectofthedevelopmentThisprojectfocusesonsolvinglargescaledistributedapplicationofgameservers,personalfeelingissimilartonetworkgameapplicationsjeeForgeneralgamenetworktransmission,ProjectDarkStaralsogiveshisownsolutionButmanypeoplethinkthatDarkStargamedoesnottrytosimplifycommonnetworkapplications,becausetheprojectismainlyonlargescaledistributedapplicationsonlinegameserverstoresolve,soastopromotesalesofSunownproductionserversOfcourse,Ididnotreallyusedorstudiedit,justhearsay,itislikelytohaveerrorsProjectWonderlandSundevelopedadvirtualworldbuildingtools,SunusingtheprojectcreatedavirtualworkingenvironmentMPK,physicallyindifferentcontinents,peoplecanworktogetherinthisvirtualworldinaroom,thisprojectdemonstratesaverygoodvideo,itisrecommendedtolookatthehomepageFuture:Javagamesfornowtherehasbeennosignificantupwardtrend,inadditiontomobilephonesoutsidethegame,JavagamebasicallyinadormantstateJavagamemayusherinthenextseveralopportunities:JavaSEUpdateN(beforecalled"ConsumerJRE")issuedInthisnewversion,SunclaimstoitwillmakeJavaupgradeismoreconvenienttodeploymoresimple(easytodetectclientJavaversion,andinstalltheprogramrequiresversion),userswillbeabletoinstallonlyJREparttheyneedforbeinglessthanthepartcanwaitandusethetimetoinstall,whileacceleratingthespeedofJavavirtualmachinestarts(actuallyjustopenedinthemachinewhenthecomputerstartJavavirtualmachine,ratherthaninthefirstrunwhentheJavaprogram),increaseswinghardwareaccelerationsupportThenew职场大变样社区(wwwzcdbycom):下载毕业设计成品Javapluginappletwillgreatlyenhancethestability,reliability,willallowtheapplettochangethesizeofmemorytheycanuse,choosewhichspecificversionofJREexecutionInfactbecomestableoncetheApplet,JavawillreflectthefaceofFlashhugeperformanceadvantage,soJavaSEUpdateNreleasewillbethebiggestopportunitywithinJavagameindustryforsometimeJavaFXreleaseJavaFX'sgoalistomakeJavaFXlikeFlashaseasytodevelop,iftheprojectreallysuccessful,theJavagameimpactwillbeverygreat(butduetolackofaconvenientdevelopmenttoolFlashhave,IJavaFXsuccessfulthepossibilityofdoubtit)SonyorNintendodecidedtosupportJavainthehomeconsoleThehopeisveryslim,butdotakeintoaccountMicrosoft'sXNAplatformforcrosswindowsandXbox,maybeSonyPSrepeateddefeatsinthecasewillconsidersupportforJavaInfactnowitisthecomputergameconsoles,manyenthusiastshavebeenabletorunJavaprogramsonthePSandWII,butcannotusethesemachinescurrentlyJavahardwareaccelerationThefurtherdevelopmentofmobilephoneNowitseemsthefunctionofmobiledeviceshasbecomeincreasinglypowerful,mobilephoneperformancemayinthenearfuturetoachievethestandardcomputer,mobilegamesmarketwilloccupyanincreasingshareofthegame,duetothewidevarietyofmobilephoneoperatingsystem,crossplatformJavawillnaturallybecomeincreasinglypopular职场大变样社区(wwwzcdbycom):下载毕业设计成品中文翻译Java游戏开发现状和走向这些年由于Java技术的不断发展Java程序的运行速度有了显著提升同时硬件技术也在不断进步从而使得Java处理比较复杂的D图形成为可能。LwjglJoglJavaD等技术的出现使Java语言可以方便的利用现在的显卡日益强大的硬件加速能力。实际上目前已经有许多基于Java的D和D游戏其中不乏大型多人在线游戏。上面这些只是Java游戏的小部分。然而即使还有其它很多基于Java的游戏相对于整个游戏产业来说Java游戏社区仍然非常小以至于其力量在手机游戏之外的领域几乎可以被忽略不计。但是实际上Java作为一种游戏编程语言和平台这些年还是取得了长足的发展在后applet时代走着复兴之路。当然Java可以做游戏并不意味着Java就适合做游戏那么:Java对于一个游戏的意义Java是一门经过充分发展已经十分成熟的语言Java语言称霸企业级应用这么多年事实证明了它非常适合于开发大型软件。当Java的运行效率不再是问题的时候Java语言严谨、高抽象、可读性强的优势就体现出来了。这对于规模越来越庞大的游戏软件来说有着不小的诱惑。Java作为平台极大的方便了游戏脚本的使用对于游戏开发来说由于涉及到比较复杂的情况(有时候甚至是美学问题)开发过程很多时候是一个不断修改的过程可以方便的修改游戏内容是十分关键的。对于很多游戏引擎来说都有自己编写的脚本解释器用来解释一些自定义的游戏脚本语言(一般为命令式脚本比如moveplayer(intxinty)playersmile()之类的东西)另一些则提供例如lua和rubby等的脚本语言来访问游戏引擎。由于其虚拟机特性Java本身就可以用来编写游戏脚本目前也有例如beanshell、groovy等脚本语言可以方便的无缝的和Java语言进行交互这些都极大的方便了Java游戏编程。跨平台跨平台每当比较Java与其他语言的时候总是要谈到跨平台。但是在Java游戏领域writeonce,runeverywhere听起来更像是一个冷笑话。这个笑话有多冷呢,职场大变样社区(wwwzcdbycom):下载毕业设计成品(手机游戏我不熟悉但是确实有人用“痛苦”来形容开发运行在不同手机上的Javagame游戏)对于其他大多数Java游戏来说或者通过applet或者通过Javawebstart来部署这两种方式无一例外的都要用到浏览器。对于Javawebstart来说问题相对较小程序员必须处理的问题主要是如何让非专业用户成功安装指定的JRE版本的问题虽然很麻烦但是可以解决的。对于applet来说问题就变得复杂的多很多问题只会在特定的操作系统配上特定的浏览器时才会出现即使是同一品牌的浏览器不同的浏览器版本也会出现不同的问题同时这里还涉及到客户机默认是使用openglpipeline还是directdrawpipeline的问题。而我们现在甚至还没有开始讨论当d游戏需要使用底层图形API时的情况无论是applet还是webstart一旦在程序中使用了任何一种opengl的Java绑定客户机各不相同的显卡以及同一款显卡的不同驱动都会带来不同的问题而这些问题是随着操作系统和浏览器的不同而不同的操作系统数×浏览器数(webstart不需要考虑浏览器)×显卡数×每款显卡的平均的驱动版本数=噩梦。最后你不得不妥协于这样一个现实即使电脑在硬件上满足程序的要求你也无法让你的程序运行在这些电脑中的每一台上除非你的用户都是专业人士。当然其实现状并没有听起来那么糟糕对于不使用Java的大多数游戏来说根本就只能运行在一个平台上许多游戏对directx或者opengl的版本有要求更不要提那些运行在家用游戏机上的游戏了跨平台是整个游戏业的大问题Java只是像其他人一样没有把这个问题彻底解决掉而已但仍然比其它技术做得要好。不过值得一提的是在那些不直接使用硬件加速的网页小游戏上Java确实在稳定性和方便安装上输给了flash在家用机方面Java是而微软的XNA(c#)可以跨Xbox和Vista。网络Java一向强于解决网络方面的问题在这方面Java主要有两个优势第一是基于applet和Javawebstart的游戏非常容易更新不会像其他游戏那样需要用户手动下载全新版本第二是Java在网络交互的API相对比较友好而对于大型网络游戏来说分布式系统非常重要这正是JCP的巨头们喜欢的东西可能由于这是一个卖硬件的好机会Sun下了不少功夫开发了projectdarkstar来做网络游戏服务端由于这个工程还没有到所以现在也很难说具体好用不好用。速度这个没什么可讨论的基于Java的游戏肯定会比写得很好的C程序慢当然写一个好的C程序所花费的庞大的薪水也是Java不能比的。职场大变样社区(wwwzcdbycom):下载毕业设计成品Java游戏方面主要的技术JavaD作为Sun公司较早推出的一项d技术是一种高度封装的API构建在opengl和directd之上可以说是最有名的Java的d技术。由于种种原因(API设计面向的用户不明确)Javad一直没有办法流行不久前Javad的团队宣布暂停对Javad新功能的开发转而为JavaFX开发d渲染引擎。同时Sun的另一个项目projectwonderland宣布将其渲染引擎由Javad转为JMonkeyEngine。令人唏嘘的是Sun的Javad再次进入尘封状态大量基于Javad的程序和教程都面临一个非常尴尬的境地令人高兴的是在这一领域终于有比Sun做得更好的团队出现了。引用别人对此事的评价:JavaDisdead!LongliveJava"D"!Lwjgl全名为lightweightJavagamelibrary。作为一个非官方的对Java游戏的全面解决方案lwjgl将游戏图形(opengl)、音效(openal)、控制输入集合为一以成为Java界的directx(不是directd)而努力。其在图形方面采用了opengl的Java绑定其函数与c语言版的完全相同所以对于习惯opengl编程的程序员来说比较友好。目前有大量的Java游戏和游戏引擎是基于lwjgl的它可以说是Java游戏社区最广为被使用的函数库之一。JoglJogl是Java对opengl的一个绑定或者说是opengl接口的Java实现它是由Sun支持的。其语法与opengl完全相同API也紧跟随着opengl的版本进行更新而Nehe的opengl范例程序大多数都有jogl版本。去年jogl正式通过jcp审核成为jsr是lwjgl的主要竞争者。值得一提的是jogl项目的领导者KenRussell曾经声明并不希望jogl成为JRE的一部分因为他认为这样会使jogl的更新周期与JRE相同从而变得过于缓慢。KenRussell目前全力工作在新的Javaplugin的开发上而opengl的API也没有进行更改所以现在的jogl版本将持续较长的一段时间。JoalJava对openal的一个绑定是Java音效的一个解决方案。JinputJava对非标准输入设备(游戏手柄操纵杆)的解决方案。JMonkeyEngine职场大变样社区(wwwzcdbycom):下载毕业设计成品JMonkeyEngine是一个开源Java游戏引擎对底层高度封装经过年的开发在去年的月终于发布了版本。在的Java会议上发布了相当震撼的演示视频从而广受关注据说会场的许多屏幕特效也是由它完成的。在底层JMonkeyEngine采用了lwjgl而jogl可能会在版本中得到支持。去年著名的网络游戏公司NCSoft(天堂系列激战英雄城市TabulaRasa等游戏的开发商)将JMonkeyEngine的三位主要开发人员招入麾下也许不久的将来我们就可以看到这一引擎的商业版本。值得一提的是在任职NCSoft之后引擎的主要开发者声称现在有了更多的时间进行游戏引擎开源版本的开发而目前JMonkeyEngine的开发速度也确实大幅提升本版有可能在年稍晚一些时候就会发布。此外由Sun开发的projectwonderland不久前宣布将把其渲染引擎由Javad转为JMonkeyEngine使得JMonkeyEngine进一步受到广泛关注。ProjectDarkStar目前ProjectDarkStar为版是Sun专门针对网络游戏的方面的应用所开发的。这个项目主要致力于解决大型游戏服务器的分布式应用问题个人感觉类似于网络游戏应用中的jee。对于普通游戏的网络传输ProjectDarkStar也给出了自己的解决方案。但是不少人认为DarkStar并不致力于简化普通游戏的网络应用因为这个项目主要是对大型网络游戏服务器的分布式应用进行解决从而促进Sun自己生产的服务器的销售。当然我并没有真正使用或研究过它只是道听途说很有可能有错误。ProjectWonderlandSun开发的一个d虚拟世界构建工具Sun使用这个工程制造了一个虚拟工作环境MPK物理上处于不同大陆的人们在这个虚拟世界中可以在一间屋子里协同工作这个项目的演示视频非常不错建议去它的主页看一下。未来目前来看Java游戏并没有出现显著的上升趋势除手机游戏外Java游戏基本处于蛰伏状态。未来Java游戏可能迎来几个契机:JavaSEUpdateN(之前被叫做"ConsumerJRE")的发行在这个新的版本中Sun号称其将让Java升级更方便部署更简单(方便的探测客户端的Java版本并安装程序需要的版本)用户将能够只安装JRE中他们需要的部分对于暂时用不到的部分可以等到用的时候再安装同时加速Java虚拟机的启动速度(实际上就是在电脑刚开机的时候就启动Java虚拟机而不是在第一次运行Java职场大变样社区(wwwzcdbycom):下载毕业设计成品程序的时候)增加对swing的硬件加速支持。而新的Javaplugin将大幅增强applet的稳定性可靠性将允许applet更改自己可以使用的内存大小选择使用哪个特定版本的JRE执行。实际上一旦Applet变得稳定Java面对Flash将体现出巨大的性能优势因此JavaSEUpdateN的发布将是Java游戏界未来一段时间内最大的契机。JavaFX的发布JavaFX的目标是让JavaFX像Flash一样易于开发如果这个项目真的能成功的话对于Java游戏的影响将非常巨大(不过由于缺乏Flash所拥有的方便的开发工具我对JavaFX成功的可能性深表怀疑)Sony或是任天堂决定在家用游戏机上支持Java这个的希望非常渺茫的但是考虑到微软的XNA做到了跨windows和Xbox平台也许Sony在PS屡遭败仗的情况下会考虑一下支持Java。实际上现在的家用游戏机就是电脑很多发烧友已经可以在PS和WII上运行Java程序了只是目前Java无法使用这些机器的硬件加速功能。手机进一步发展目前看来移动设备的功能已经越来越强大手机的性能也许在不久的将来可以达到电脑的水准手机游戏也将占据游戏市场越来越大的份额那么由于手机的操作系统种类繁多跨平台的Java自然也会越来越受青睐

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/69

基于Java的飞机大战游戏的设计与实现论文

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利