精品基于J2ME技术的手机游戏开发疯狂赛车毕业论文设计.docx
- 文档编号:26707224
- 上传时间:2023-06-21
- 格式:DOCX
- 页数:77
- 大小:71.74KB
精品基于J2ME技术的手机游戏开发疯狂赛车毕业论文设计.docx
《精品基于J2ME技术的手机游戏开发疯狂赛车毕业论文设计.docx》由会员分享,可在线阅读,更多相关《精品基于J2ME技术的手机游戏开发疯狂赛车毕业论文设计.docx(77页珍藏版)》请在冰豆网上搜索。
精品基于J2ME技术的手机游戏开发疯狂赛车毕业论文设计
南京工程学院
毕业设计说明书(论文)
专业:
电子信息科学与技术
题目:
基于J2ME技术的手机游戏开发
――疯狂赛车
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
毕业设计说明书(论文)中文摘要
J2ME虚拟机在手机上的普及为手机游戏的发展提供了最适合的土壤。
随着MIDP2.0包的发布,使得手机游戏开发者可以更专注于游戏性的增强而不再是繁琐的动画处理与地图设计,而开发过程变得更加方便迅捷。
本文完整地描述了在Eclipse平台应用J2ME技术,特别是MIDP2.0中新增加的GameAPI在手机上实现一个疯狂赛车游戏。
核心在于其游戏引擎的构建,其中涉及到的技术有Midlet框架、赛道产生算法、游戏状态机和精灵等。
关键字J2MEMIDP2.0GameAPIEclipse疯狂赛车
毕业设计说明书(论文)外文摘要
TitleDevelopmentofCellPhoneGameBasedOnJ2ME
――CrazyRacingCar
Abstract
WidespreaduseofKVMonthecellphonepromotesthedevelopmentofcellphonegame.ThereleaseofMIDP2.0enablesgameproducertoconcentratemoreonimprovementofgameperformancethaneffortinanimationprocessingandmapdesign.Andthedevelopmentprogressbecomesrapiderandmoreconvenient.
ThethesisintroducestheJ2MEtechnologyofbasedontheintegrateddevelopmentenvironmentofEclipse.Itismainlyabouttheimplementationofagame—CrazyRacingCar.Thecoreofthethesisfocusesonthegameengineconstruction.ThetechnologyconcernedincludestheMIDletclass,thread,spiritsetc.
KeywordsJ2ME,MIDP2.0,GameAPI,Eclipse,CrazyRacingCar
目 录
第一章绪论1
1.1移动游戏的文化和业务1
1.2移动平台简介2
1.3关于本课题4
第二章开发环境与主要技术5
2.1开发平台5
2.2主要技术6
2.3术语及相关缩写解释14
第三章系统需求分析15
3.1运行平台15
3.2界面要求15
3.3速度要求15
3.4游戏具体需求15
第四章系统设计与实现18
4.1整体框架18
4.2游戏的启动管理20
4.3游戏的主类的实现23
4.4游戏闪屏的实现27
4.5游戏菜单的实现30
4.6游戏画布的实现33
4.7赛道产生算法36
4.8键控处理算法37
4.9碰撞检测算法39
4.10游戏角色的AI策略设计41
4.11游戏引擎的实现42
第五章游戏测试45
5.1打包45
5.2下载测试46
5.2BUG发现与测试总结48
第六章结束语49
6.1毕业设计的难点与创新49
6.2毕业设计的收获49
致 谢51
参考文献52
附录:
英文技术资料翻译53
第一章绪论
本章主要对发展中的移动游戏进行介绍,并对当前流行的移动平台进行简单的介绍。
1.1移动游戏的文化和业务
移动游戏的发展远远落后与相应的PC机上的游戏,主要的困难在于移动设备的处理能力。
但是由于掌上电脑和手机的最新发展正在快速改变这种现象,它们具备真正的计算能力但却小得可以放到随身口袋中。
当前的移动游戏已经形成自己独有的文化和业务。
1.1.1移动游戏的文化
短消息已经从全球范围内把我们联系起来,它的直接性超出了我们的想象;同样,手机游戏也搭建了一个舞台对视频游戏的全部概念进行转换,其效果会令人震惊。
这些话是不是有些过分夸张?
我们来考虑一下这样一种情形:
你能够和来自世界各地的人们一起参加一个大型的网络化的多玩家游戏,你可能是在一次郊游的休息时来做这件事。
这个情形说明了一个关键问题,手机游戏能够通过一个移动介质,在任何时候把任何地点的人们连接起来让他们一起娱乐。
现在这已经不是一个不切实际的梦想,这种游戏随着3G时代的到来已经悄然的在我们的身边出现。
现在全球范围的多玩家网络游戏的思想并非新东西,人们在他们的桌面电脑上干这种事情已经很多年了。
但那需要网络连接到其他的计算机,而这些计算机都很大无法自由移动。
即使最轻巧的笔记本电脑也需要放置到平缓的表面上,还需要接入某种无线网络。
手机则能够装入的口袋中,并且默认地处于无线连接状态。
它们使得轻松地加入和退出多玩家网络游戏成为可能。
通过创建一个让游戏玩家来去更加自由的环境,随着游戏和相关技术的成熟,手机游戏的公共性方面可能成为最大的吸引力之一。
手机痛信已经使得世界变得很小,而手机游戏则充当允许人们一起玩游戏而不关心其实际位置,从而使这种情况达到一种新的水平。
手机游戏不但能够克服地理位置的障碍,而且能够突破语言和文化的障碍。
人们不需要说相同的语言,也能够一起玩贪吃蛇。
人们会设计出更多更富创意的游戏,从而游戏玩家之间的文化差异变得最小化。
1.1.2移动游戏的业务
纵观IT产业的历史,计算机游戏已经成为技术创新背后的动力之一。
1998年诺基亚公司年发布了全球第一款手机游戏—“变色龙6110”,内置贪食蛇、记忆力和逻辑猜图三款游戏,受到了全世界的欢迎,其他厂商纷纷跟进。
计算机游戏者渴望更加强大的硬件计算能力;渴望不受不同的软件的限制——无论是将图形强制在人工智能(AI)上还是网络安全性。
游戏开发者和玩家常常是前沿计算机技术的最早的采用者。
由于他们的创新天性,游戏不再是由大型采购公司控制的技术产品——游戏领域总是有充足的空间给那些在这方面有天分的单个创新者。
手机已经与现代生活方式紧紧地结合在一起。
他们是最普遍携带的个人用品中仅次于钥匙和钱包的东西。
传统的台式机游戏将目标锁定在低级趣味的人和青少年身上,而手机游戏则每个人都可以访问得到——随时随地。
尽管每个手机游戏的价格都不贵,但是巨大的使用量(如:
每人每星期一个新游戏)将使得这个市场商机无限。
但是,对于开发者来说,将控制台游戏迁移到手机游戏工程很大。
因为他们所面向的对象、生活方式和分布式模型都有着极大的区别。
1.2移动平台简介
尽管手机游戏的格局的确会风云突变,但是占据主流的移动平台,因而在某种程度上是相当稳定的。
主流的移动平台主要有:
ØJava2MicroEdition(J2ME);
ØBinaryRuntimeEnvironmentforWirless(BREW);
ØSymbian;
ØWindowsMobileSmartphone。
所有这四种平台都得到了当前手机的支持,并且它们都以免费文档和工具的方式提供对开发者的支持。
接下来将详细地讨论每个平台,介绍它们之间的区别。
1.2.1J2ME
J2ME是Sun微系统公司流行Java编程语言的紧凑版本。
J2ME包括一组开发工具和丰富的应用程序接口(API)以供开发手机应用程序,人们称为MIDlet。
J2ME也包括K虚拟机,它负责协助Java字节码在每个手机上的执行,依靠通用的字节码而不是本地应用程序代码,J2ME能够开发的游戏程序的基本代码,并且能够移植到不同的手机而不需要太大力气[01]。
事实上,如果不需要改变屏幕尺寸和图形显示能力,在J2ME手机之间移植一个游戏所需的工作几乎是零。
下面章节将详细介绍J2ME技术。
1.2.2BREW
J2ME得到广泛支持,与此不同的是BREW则是一个专门以基于高通公司的CDMA(CodeDivisionMultipleAccess,码分多址)技术的手机为目标的平台。
这并不是说BREW不能得到相对较多的手机的支持。
BREW开发者通常使用C或C++结合BREWAPI来开发BREW设备所需要的手机游戏。
BREW也支持其他的软件开发技术,如XML甚至Java。
和J2ME一样,BREW能够作为游戏和底层手机操作系统之间的一个中介。
和J2ME不一样的是BREW也支持本地代码,这意味着游戏能够专门针对某一个手机的处理器而编译。
本地代码游戏通常比它们对应的解释版本要快许多,但是在设备之间移植它们需要技巧。
BREW已经流行开来并且在亚洲的部分国家有数量惊人的用户群,包括在日本和韩国。
在美国,Alltel和VersionWireless是支持BREW手机的领头无线通信服务提供商。
1.2.3Symbian
Symbian是和BREW采取完全不同的方式的一种手机操作系统。
它是一种开放的操作系统,任何设备制造商都能够获得使用许可。
Symbian是由Symbian有限公司开发,该公司是由包括Motorola、Nokia、Panasonic/Ericsson在内的手机制造商组成的联合公司。
Symbian当前得到众多手机的广泛支持,主要是因为它相对容易获得许可[02]。
为Symbian设备开发手机游戏会有很多选择,因为Symbian支持C++、Java和VisualBasic等编程语言。
当前的大多数商业Symbian游戏都是用C++开发并作为本地Symbian应用程序的,这使得它们和Java开发的游戏相比更快一些。
事实上,Java已经使得Java程序和本地程序之间的性能差距渐渐缩小,但是一个纯粹的本地应用程序往往总是比一个Java程序的效率更高。
这一点对于游戏程序来说特别重要,它们对额外的处理能力的要求是很刻的。
1.2.4WindowMobileSmartphone
Microsoft公司的WindowsMobile操作系统多部署在PocketPC这样的手持计算机和Smartphone这样的高级设备上,微软公司已经从中看到了一些成功的迹象。
尽管一些PocketPC有相当大的屏幕(240×320),大都通过手写笔供用户输入。
Microsoft公司是在等待时机直到手机技术能够跟上它们,因为它们最近发布的Smartphone,这是WindowsMobile操作系统的手机版本。
这个操作系统的有趣之处在于,它并非是PocketPC的缩微版本,它和前者的显著不同是用户界面根据手机的小屏幕和没有手写笔的特点而做出的变化。
从手机游戏的开发者的角度来看,这就意味着可以使用在编写PocketPC游戏时用到的工具和API。
这通常意味着要使用C、C++或C#编程语言并结合使用WindowsMobileAPI。
PocketPC游戏开发到现在已经发展了好几年,因此,从某些方面讲,Smartphone是一个显著的飞跃,尽管对于市场来说它是比较新的力量。
在美国,Motorola和Samsung都是Smartphone手机的制造商,并且它们目前都得到AT&TWireless和VerizonWireless的支持。
1.3关于本课题
本课题将在手机上实现一个单机版的赛车游戏,该游戏模拟PC机上的赛车游戏《速度与激情》,实现玩家与电脑的对战。
本游戏使用J2ME技术构建了一个基本的游戏引擎,并利用人工智能技术实现了电脑的智能策略。
第二章开发环境与主要技术
本章主要对以Eclipse为核心的J2ME开发环境进行介绍,并对该课题开发过程中需要的J2ME技术、游戏人工智能技术和游戏基础进行详细介绍。
2.1开发平台
本游戏的开发平台为:
操作系统:
MicrosoftWindowsXP
程序语言:
Java
开发包:
Java(TM)2StandardEdition(5.1)
模拟器:
SunMicro.J2MEWirelessToolKit2.5.1
NokiaSeries405thEditionSDK
IDE工具:
Eclipse—SDK—3.3.1
IDE插件:
EclipseME1.7.5
关于本游戏的开发环境安装配置过程比较简单,在此不再赘述。
总体来说,JDK提供了虚拟机来运行应用程序,而WTK提供了模拟器,Eclipse及其它插件提供了个开发测试程序代码的IDE集成开发环境
2.1.1Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
Eclipse相关的许可证是大多数基于CommonPublicLicense(CPL),CPL是一个为OpenSourceInitiative(OSI)所认可的许可证。
由于EclipseFoundation的建立,Eclipse的许可证将逐渐趋向于使用EclipsePublicLicense(EPL),EPL是一个与CPL相类似的许可证,正在进行OSI的认证工作[03]。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
2.1.2EclipseME
EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。
EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。
通过安装它以使得我们可以在Eclipse下开发J2ME应用。
我们可以像建立普通JavaProject一样建立一个J2MEMidletSuite,并调用WTK下的模拟器来运行或者调试它。
2.1.3WirelessToolkit
WTK(WirelessToolKit)是Sun公司针对J2ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。
它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用厂商具有一定的不兼容性。
虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE需集成采用的必备元素。
2.1.4JavaApplicationManager
手机中负责调配程序运行资源的管理后台是JavaApplicationManager。
它所使用的传输媒体可以是红外线、网络、以及其他可用来传输的媒体。
JavaApplicationManager会从网络上下载代表该ApplicationSuite的JAR档,接着在手机上安裝此MIDletSuite,然后在手机开始执行该应用程序。
2.2主要技术
2.2.1J2ME技术概述
1999年6月,Sun正式向Java团体推出了J2me,并重新划分了Java2的体系结构,目前主要包括面向桌面应用开发的Java2平台标准版(Java2PlatformStandardEdition,J2SE)、面向企业应用开发的Java2平台企业版(Java2PlatformEnterpriseEdition,J2EE)、面向消费产品和嵌入式设备应用开发的Java2平台微型版(Java2PlatformMicroEdition,J2ME)和Java卡平台。
Java技术的体系结构如图2-1所示。
图2-1Java技术的体系结构
J2EE、J2SE和J2ME构成了Java的完整构架。
至此,Java已经由单纯的编程语言发展到一种平台的高度。
这三者的结合,可以将从服务器到台式机到移动设备的应用开发集中到一种技术之下。
J2ME平台由多种配置(Configuration)、简表(Profile)和可选包(OptionalPackage)组成。
平台的实现者和应用程序的开发者可以从中选择并组合出一个完整的Java运行环境来满足特定范围内的设备需求。
每种组合都应该使用这一系列设备的内存、处理器和I/O能力达到最优化。
J2ME专家组之所以采取这种灵活的设计结构主要是为了满足市场上不同种类的嵌入式设备的需求,这些设备在软件和硬件特性上都存在巨大的差异,一种规范很难将它们统一起来。
目前,J2ME平台主要包括两个配置:
CLDC和CDC。
ØCLDC是两个配置中较小的一个,为具有间断性联网能力、较慢的处理器和有限内存的设备设计的。
这些设备包括移动电话、双工呼叫器和入门级的PDA,它们通常具有16位或32位的CPU、128KB~512KB可用于Java平台实现和相关应用程序的内存。
ØCDC是为处理器能力较强、内存空间更大、联网能力更出色的设备设计的。
这些设备包括电视机顶盒、车载娱乐系统和高端PDA等。
CDC包括一个具有完备特性的Java虚拟机,比CLDC更大的J2SE平台的子集。
CDC的目标设备通常具有32位或者64位的处理器,2MB以上的可用于Java平台实现和相关应用程序的内存。
移动信息设备简表(MIDP)是为移动电话和入门级PDA设计的。
它为移动应用程序提供了所需的全部核心功能,包括应用程序模型、用户界面、持久性数据储存、联网能力(在CLDC中定义,在MIDP中实现)及应用程序管理。
目前应用非常广泛的MIDlet就是在MI
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 基于 J2ME 技术 手机 游戏 开发 疯狂 赛车 毕业论文 设计