毕业设计(论文)手机游戏的设计与开发.doc

上传人:laozhun 文档编号:3982519 上传时间:2023-03-30 格式:DOC 页数:36 大小:191.50KB
返回 下载 相关 举报
毕业设计(论文)手机游戏的设计与开发.doc_第1页
第1页 / 共36页
毕业设计(论文)手机游戏的设计与开发.doc_第2页
第2页 / 共36页
毕业设计(论文)手机游戏的设计与开发.doc_第3页
第3页 / 共36页
毕业设计(论文)手机游戏的设计与开发.doc_第4页
第4页 / 共36页
毕业设计(论文)手机游戏的设计与开发.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业设计(论文)手机游戏的设计与开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)手机游戏的设计与开发.doc(36页珍藏版)》请在三一办公上搜索。

1、毕业设计说明书手机游戏的设计与开发软件学院学生姓名: 学号: 通信技术学 院: 专 业: 指导教师: 2010年 6月手机游戏的设计与开发摘 要J2ME(Java 2 Micro Edition) 是近年来随着各种不同设备,尤其是移动通信设备的飞速发展而诞生的一项新的开发技术。它的目标定位在电子消费产品与嵌入式设备上,对设备的智能化、多样化,提供了革命性的解决方案,并因其“Write Once, run anywhere”的Java特性而提高开发的效率在可以搭载Java的终端设备中,移动电话可以说是最为普及的,随着无线通信业的发展,Java应用程序在通信、娱乐等应用上产生的手机增值服务逐渐体现

2、出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。本论文着眼于J2ME技术在手机娱乐上的应用,开发一个的基于MIDP2.0的手机游戏程序拼图游戏,并介绍了游戏的结构分析和具体功能实现。游戏的界面和运作方式,尽力模拟手机游戏的普遍性形式,成为一个完整的手机游戏。关键词:J2ME,手机游戏,拼图Design and development of Puzzle on mobile phoneAbstractJ2ME (Java 2 Micro Edition), a newly-developed technology due to different kinds of equip

3、ment in recent years, especially the rapid development of mobile communication equipment, with the target of electronic expense product and embedded equipment has provides the revolutionary solution to the equipment intellectualization and diversification and accelerates the developing efficiency fo

4、r its natural Java characteristics, like “write once, run anywhere”. Along with the development of wireless communication, the mobile phone is the most popular in the terminal device can be embarked with Java. The Java application procedure manifests noticeable influence in the field of mobile phone

5、 value-added service communication and entertainment and also plays an important role of the enrichment peoples life content and prompt information. The paper focuses on the J2ME technology in the field of the application of cell phone entertainment to develop a game procedure based on MIDP2.0- puzz

6、le game, and then introduced the game structure and its function realization. It aims to complete a mobile phone game by changing the interface and operation through imitating the universal form. Become a perfectly game on mobile phone.Keywords: J2ME, mobile phone game, puzzle game目 录1前言32 需求分析32.1

7、编写目的32.2 研究背景32.3 定义32.4 任务概述32.4.1 开发目标32.4.2 应用目标32.5 功能需求32.5.1 功能划化32.5.2 功能描述32.6 相关需求32.6.1 用户界面32.6.2 硬件接口32.6.3 软件接口32.6.4 故障处理32.6.5 其他需求33 概要设计33.1 编写目的33.2 定义33.3 总体设计33.3.1 需求规定33.3.2 基本设计概念和处理流程33.3.3 结构33.3.4 尚未解决的问题33.4 系统出错处理设计33.4.1 出错信息33.4.2 补救措施33.4.3 系统维护设计34 详细设计34.1 编写目的34.2 定

8、义34.3 程序结构设计34.3.1 程序主要流程34.3.2 程序基本结构34.3.3 低级绘图Canvas类及Graphics类34.4 游戏具体设计34.4.1 图片分割34.4.2 图片的随机摆放34.4.3 图片的移动34.4.4 时间分数记录34.4.5 菜单处理34.4.6 等级设计34.4.7 音乐设计34.5 测试计划34.6 尚未解决的问题35 编码打包35.1 编码阶段各部分主要程序段35.1.1 主函数Pintu.java35.1.2 菜单类MenuCanvas.java错误!未定义书签。5.1.3 游戏主界面类SplashCanvas.java错误!未定义书签。5.1

9、.4 游戏开始类StartCanvas.java错误!未定义书签。5.1.5 图片选择类SelectPicCanvas.java错误!未定义书签。5.1.6 等级选择LevelCanvas.java错误!未定义书签。5.1.7 帮助类和其他类错误!未定义书签。5.2 打包36 使用说明36.1 编写目的36.2 定义36.3 软件概述36.3.1 目标36.3.2 功能36.4 具体使用说明36.4.1 主界面36.4.2 开始游戏36.4.3 图片选择36.4.4 难度选择36.4.5 帮助36.4.6 关于36.4.7 记录36.4.8 关闭游戏37 系统测试文档37.1 编写目的37.2

10、 定义37.3 测试环境37.4 系统测试37.4.1 游戏界面菜单选项的功能测试37.4.2 按键事件的功能测试37.4.3 游戏完成测试37.5 测试结果分析38 结 论3参 考 文 献3致 谢31前言作为手机娱乐服务的重要内容之一,近几年手机游戏业务呈现快速增长的势头,成为一座名副其实的金矿。以目前国内的情况来看,手机网络游戏产业链日益成熟,这为手机网络游戏的发展奠定了良好的基础。2007年中国手机游戏市场超过8亿人民币。2008年第1季度中国JAVA/BREW手机游戏市场总体市场规模达到2.61亿人民币。2008年第2季度中国JAVA/BREW手机游戏市场总体市场规模达到2.87亿人民

11、币。随着手机网游用户数量和产品大规模增加,预测手机网游将推动手机游戏在2008年的成长,至2011年中国手机游戏市场规模将达37亿元。伴随着产业合作模式的日益成熟,以及移动网络和移动终端性能的不断提高与完善,国内手机游戏业务发展明显提速,2008年手机游戏市场将在此前调整的基础上进入成长期。细分市场方面,单机游戏占据较大的份额,但是游戏的发行模式已经从过去的手机预装向网络下载全面转型;网络游戏虽依旧受到无线网络环境的限制,但情况正在好转。大型手机网络游戏产品日趋成熟,3G、新一代宽带无线移动通信的发展将使其获得突破的机遇。按手机平台分类对不同类型的手机游戏的规模进行预测。在未来几年中,短信游戏

12、的增长速度将放缓,WAP游戏将继续呈现较快速的增长。JAVA与BREW游戏在所有游戏中呈现最快速度的增长,逐渐成为手机游戏市场的主流,对整个游戏市场规模的贡献最大。2 需求分析2.1 编写目的我们对目前网络上的主流J2ME游戏和广大游戏玩家群进行了一些针对性调查,收集了相关资料。调查结果显示:目前主流的J2ME游戏中以益智性和趣味性并存的游戏最受欢迎,尤其是界面友好漂亮、易操作、交互性强的游戏更受青睐。通过调查我们了解到J2ME拼图游戏以其易操作性、益智性、娱乐性、交互性都比较好和多类型多玩法而赢得了不小的玩家群。如果制作一组交互性好吸引人的多种类组合的拼图游戏还是有一定市场的。更重要的是J2

13、ME拼图游戏的制作一般都不是很复杂,而且可以采用多种方法进行设计,又有较多优秀成果可以参考,这是比较符合我们目前的状况和软硬件,人员技术水平要求的,也使得成功开发一个J2ME游戏,按时按质完成设计成为一种可能。需求分析是整个软件开发的依据,它对以后阶段的工作起指导作用。本章也是项目完成后系统验收的依据。2.2 研究背景2008年中国手机游戏将进入急速发展的时代,更多能够为用户带来完美体验的手机游戏也会陆续出现,可以预见2008年将有更多的手机用户拥抱手机游戏。经历两次市场盘整后,目前手机游戏市场活跃用户已经达到了500多万,手机游戏产品已经为大众所认知。2008年中国手机游戏市场将进入第二次盘

14、整后的成长期,下半年将出现成长拐点,手机游戏将是带动手机游戏市场发展的必然因素。2.3 定义需求:用户解决问题或达到目标所需的条件或功能;系统或系统部件要满足合同、标准,规范或其它正式规定文档所需具有的条件或权能。2.4 任务概述2.4.1 开发目标开发目标:实现手机拼图游戏基本功能,包括选择图片,难度选择,记录成绩,音乐音响,游戏帮助,关于游戏等。2.4.2 应用目标应用目标:拼图游戏是一个考眼力和脑力的益智游戏,一直为大家所厚爱,很多手机也把它作为内置的游戏,网络上这样的游戏有很多。2.5 功能需求2.5.1 功能划化每个拼图后面都有这么个拼图设置菜单,用来设置图片,可以定制不同的难度和样

15、式。图片选择:在图片选择中提供若干图片,可以根据自己的喜好选择不同的图进行游戏。本游戏会设置些当下比较流行的人物图片。2.5.2 功能描述通过以上的需求分析与描述,我们将系统功能划分为以下几个方面: (1)游戏操作功能:即要求系统能够实现单人游戏操作;对于每一种类型的游戏在游戏操作过程中还应有相应信息的显示:如显示所消行数,所获成绩,现行游戏操作速度,游戏开始,游戏结束等。(2)游戏属性设置功能:这部分分为三项,一项为图片选择,它可以显示5张图片以上的图片。一项为系统选项设置,其中包括游戏操作的难易度设置、显示属性设置、游戏操作控制键设置等。(3)系统帮助功能:它包括通过游戏教学向用户演示游戏

16、操作过程;同时还包括游戏开发版本信息的说明,游戏帮助等设置。2.6 相关需求2.6.1 用户界面MIDP(Mobile Information Device Profile)用户界面应用编程接口类来实现J2ME的图形界面开发,MIDP用户界面设计是基于屏幕的,所有的用户界面组件都位于屏幕上,并且一次只显示一个屏幕,并且只能浏览或使用这个屏幕上的条目。由屏幕来处理所有的用户界面事件。并只把高级事件传送给应用。 按照MIDP2.0的规范,MIDP图形用户界面分为低级图形用户界面和高级图形用户界面。Canvas类是代表低级用户界面的画布,所有的图形图像绘制以及用户交互都有这个类负责。2.6.2 硬件

17、接口不需要特定的硬件或硬件接口进行支撑。2.6.3 软件接口开发环境:windows(XP/vista/win7)+Eclipse+EclipseMe+WTK 开发语言:java CLDC: 1.0MIDP: 1.0 应用程序类型:jar打包文件2.6.4 故障处理正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。调试中遇到的问题及解决的方案: (1)图片加载异常:可能因为图片太大,也可能因为图片数量过大,导致内存不够。也可能会因为图片格式不正确。(2)音乐加载异常:可能是格式不正确,可能是内存不够,进行异常捕捉,找出问题并进行做出相应的解决方案。(3)关于空记录带

18、来的麻烦 有些空记录往往会使程序无法运行。此时你可用“if not is null”语句先判断一下是否为空记录,然后再进行操作。(4)有些运行错误也可用补获异常进行处理。 2.6.5 其他需求界面设计需求:界面设计是人与机器之间传递和交换信息的媒介,包括硬件界面和软件界面,是计算机科学与心理学、设计艺术学、认知科学和人机工程学的交叉研究领域。近年来,随着信息技术与计算机技术的迅速发展,网络技术的突飞猛进,人机界面设计和开发已成为国际计算机界和设计界最为活跃的研究方向。其中一方面是界面元素:通常一个软件界面的元素包括界面主颜色、字体颜色、字体大小、界面布局、界面交互方式、界面功能分布、界面输入输

19、出模式。其中,对用户工作效率有显著影响的元素包括:输入输出方式、交互方式、功能分布,在使用命令式交互方式的系统中,命令名称、参数也是界面元素的内容,如何设计命令及参数也很重要。影响用户对系统友好性评价的元素则有:颜色、字体大小、界面布局等,这种划分不是绝对的,软件界面作为一个整体,其中任何一个元素不符合用户习惯、不满足用户要求都将降低用户对软件系统的认可度,甚至影响用户的工作效率,而使用户最终放弃使用系统。围绕界面元素所要达到的设计目的是让最终用户能够获得美感、提高工作效率、易于操作使用系统。 目前在界面元素的选择、布局设计等方面的研究进行得较多,内容涵盖了人机工程学、认知心理学、美学、色彩理

20、论等方面的探讨。另一方面是用户角色:界面需求分析必须围绕用户为中心,不同于客观功能需求分析,具有很大的主观性。虽然,界面设计人员可以按照通行的原则来设计,但是用户个体的文化背景、知识水平、个人喜好等是千差百异的,其界面需求也是相差很大。不同的用户,对软件界面有不同的要求,表达自己要求的方式也尽不相同。而且用户的界面要求通常不像业务功能需求那样容易明确、有据可查、可以利用专门工具进行分析。多数用户往往并不能提出明确的、全局的界面需求,其需求同自身主观因素联系紧密,是模糊、变化的。3 概要设计3.1 编写目的从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件

21、结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描述出软件的概貌。本概要设计说明书的目的就是进一步细化软件阶段得出的软件的总体概貌,把它加工成灾程序细节上非常接近源程序的软件表示。通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发拼图游戏,熟悉单机游戏的设计方法和思路, 掌握在模拟器上以及真机上调试代码的技巧,加深对所学知识的了解以及应用,提高解决问题分析问题的能力。3.2 定义概要设计:是把需求分析得到的DFD转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据

22、结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。3.3 总体设计3.3.1 需求规定游戏界面要求:打开游戏时,出现绿色字体的该游戏的名字“拼图游戏”,并伴随着好听的音乐,然后自动转到游戏的主界面,游戏设置选项:开始游戏、图片选择、难度选择、帮助、记录、关于、关闭游戏等。进入图片选择时,界面有会提供清晰好看的图片,这样看起来就比较美观。键盘处理事件:打开游戏时,使用左右键进行游戏相关的不同设置。游戏开始时,使用上下左右方向键控制被分割的小图片,使其最后能够恢复原始的完整图片。显示需求:当小图片恢复到原始图片位置时,界面中间将会出现“嘿嘿!胜利咯”字样,可以自己进行选择更高难度。

23、3.3.2 基本设计概念和处理流程初始化移动小图片N恢复原图?Y结束图 3.1 基本设计概念图3.3.3 结构基本设计处理流程结构图(图3.2)图片最高分图片选择等级游戏部分帮助模式选择进入游戏菜单图3.2 基本设计处理流程结构图3.3.4 尚未解决的问题游戏模式选择部分:打开游戏后,出现游戏等级选择,分为初级、中级和高级。游戏图片选择部分:打开游戏应该出现图片选择设置以供玩家自由选择。游戏音乐部分:在主界面时,应该有个音乐开关选择,可供玩家自由选择,若选择音乐开,则在不同的界面上出现相应的音乐。游戏记录部分:在每次玩家结束游戏时,都会出现玩家相应的游戏步数,作为记录存储下来。3.4 系统出错

24、处理设计3.4.1 出错信息表 3.1 出错信息表打开游戏时不出现“拼图游戏”字样,或者出现以后不自动跳转到游戏设置界面。进入游戏设置时进入以后不出现各个设置的选项。进入“开始游戏”界面不能转到游戏部分,或者进入游戏后,不能小图片不能被移动。游戏过程中没有进行步数的记录,或者完成后不出现胜利提示。等级选择选择以后没有出现等级之分,难度一样。图片选择界面没有预期设置的那些图片。音效设置选择音乐开关时,整个游戏中并没有音乐响起。记录设置点击记录选项时,里面的记录为0,没有将玩家的步数记录下来。3.4.2 补救措施在程序设计中,可以在每个部分添加相关的输出信息,根据相关提示进行查找对象的体能出错的部

25、分,再进行修改。像图片加载和多媒体加载,都应编有相关的异常捕捉,进行出错提示,找出错误并修改。服务器端应返回相应的响应代码给客户端,并提示给用户如:protected void start() try for (int i = 0; i picNum; i+) picArrayi = Image.createImage(midlet.imgPath + midlet.nameArrayi); dirImg = Image.createImage(midlet.imgPath + dir.png); catch(IOException e) System.out.println(Image lo

26、ad error!); 3.4.3 系统维护设计改正使用时暴露出来的一些潜在程序错误或设计缺陷;因在软件使用过程中数据环境发生变化或处理环境发生变化,需要修改程序以适应这种变化;在使用时提出改进现有功能、增加新的功能以及改善总体性能的要求。4 详细设计4.1 编写目的根据此组拼图游戏的需求分析定义的游戏需求及概要说明设计所规划的程序结构和划分模块,具体详细的介绍每个所划分出的模块的功能,设计及具体的实现,为后面的编辑代码做铺垫。4.2 定义详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑。4.3 程序结构设计4.3.1 程序主

27、要流程每个MIDlet都扩展javax.microedition.midlet包中的MIDlet抽象类,而在这个抽象类中定义了三个抽象方法:startApp()、pauseApp()、destroyApp(boolean b)。通过调用这三个方法在暂停状态(paused)、活动状态(active)、销毁状态(destroyed)之间转换。4.3.2 程序基本结构图4.1 程序基本结构图4.3.3 低级绘图Canvas类及Graphics类继承了Displayable类的Canvas类为需要图片元素精确定位和控制以及需要获得低级输入事件的应用设计。Canvas提供了键盘事件、指点杆事件(如果设备

28、支持),并定义了允许将键盘按键响应映射为游戏控制键盘的函数。同时Canvas类可与高级Screen类交互,程序可在需求时在Canvas中参入高级类的组件。 Graphics类提供了简单的2D绘图功能。它具有24位深色色彩的绘图能力,以及三原色分别各占一个字节表示其颜色。程序只能在paont()函数中使用Graphics绘制,GameCanvas可调用getGraphics()函数直接绘制在缓冲区上,可以在任何时间请求传输前台。其对象会被传给Canvas的paint()函数,以便最终显示。4.4 游戏具体设计游戏主要分为一下这些大类:游戏主类(Pintu.java),游戏菜单(MenuCanva

29、s.java),游戏画布(StartCanvas.java),图片选择类(SelectPicCanvas.java),游戏等级选择类(LevelCanvas.java),帮助类(HelpCanvas.java),记录类(Score.java)、关于类(AboutCanvas.java)九个类。4.4.1 图片分割首先考虑如何分割图片,可以采用作图工具提前把图片分割成若干部分,不过我觉得不专门用作图工具也行,因为显示的都是整个图的一部分,拿9个方格来说,只要取原图的1/3在界面上显示就可以了,代码如下:Image temp=Image.createImage(_url);Image img=ne

30、w Image9;int width=temp.getWidth()/3;int height=temp.getHeight()/3;for(int i=0;i3 ;i+)for(int j=0;j3;j+) imgi*3+j=Image.createImage(temp,j*width,i*height,width,height,Sprite.TRANS_NONE);createImage(Image source) createImage(Image image, int x, int y, int width, int height, int transform);4.4.2 图片的随机

31、摆放可根据J2ME程序开发中随机数字处理,创建Random类型的对象,第一种使用默认构造方法,第二种方式通过自己来指定种子数字来进行创建。创建好了随机对象以后,我们就可以来生成随机数字了。来做出打乱图片让其随机摆放,本设计中将采用下列方法:public void randomSequence() Random r = new Random(); int rValue,t; for(int i=0;i= 1000 & gameState = 1) countTime+; pintuStartTime = System.currentTimeMillis(); 4.4.5 菜单处理 通过主菜单选项

32、无论对于一个游戏或者应用程序来说都比较重要,尤其是在移动设备上,其中关键性的一点就是可用行。一个可用主菜单是很关键的,它在游戏设计时就得进行设计。假如第一次设计比较合理可用,在以后的设计中将可以重复利用想偷的菜单单帧。本游戏中的主要类将用一个一维数组将所有的设置中的选项都放在里面,如下:private String menuArray = 开始游戏,图片选择,难度选择,帮助,记录,关于,关闭游戏;protected final int MENU_START = 0,MENU_SELECTPIC = 1,MENU_LEVEL =2,MENU_HELP=3,MENU_SCORE=4,MENU_AB

33、OUT=5,MENU_EXIT = 6;4.4.6 等级设计难度级别有三种,简单(对应33=9小张图片的关卡),一般(对应44=16小张图片的关卡),困难(对应55=25小张图片的关卡)。绘制图片的起始坐标值由屏幕设定的,先设置变量,public class LevelCanvas extends GameCanvas implements Runnable private PinTu midlet; private Image dirImg; private Sprite leftSprite,rightSprite,menuSprite; private int selectedIndex

34、 = 0; private int dirY,dirX1,dirX2; private final int WIDTH = getWidth(),HEIGHT = getHeight(),MIDLECENTER = Graphics.HCENTER | Graphics.VCENTER; protected boolean stoped = false; private int delay = 500; private int levelNum = 0; private Thread t; public LevelCanvas(PinTu m) super(true); midlet = m;

35、 levelNum = midlet.levelArray.length; setFullScreenMode(true); protected void start() try dirImg = Image.createImage(midlet.imgPath + dir.png); catch(IOException e) System.out.println(Image loaded error!); leftSprite = new Sprite(dirImg,10,10); rightSprite = new Sprite(leftSprite); rightSprite.setTr

36、ansform(Sprite.TRANS_MIRROR); leftSprite.setPosition(WIDTH/2 - 40 ,HEIGHT/2); rightSprite.setPosition(WIDTH/2 + 40 - rightSprite.getWidth(),HEIGHT/2); menuSprite = new Sprite(leftSprite); menuSprite.setTransform(Sprite.TRANS_ROT270); menuSprite.setPosition(5,HEIGHT -15); t = new Thread(this); t.start(); 4.4.7 音乐设计在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。一般手机支持的声音文件格式为wav、mid和mpg等。将读取到的内容传递给播放器,播放器按照一定的格式来进行解码操作,具体代码如下:private void playMIDI() try /获取Jar包中的MIDI文件 java.io.Inp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号