j2me手机连连看游戏开发大学毕业论文.doc
《j2me手机连连看游戏开发大学毕业论文.doc》由会员分享,可在线阅读,更多相关《j2me手机连连看游戏开发大学毕业论文.doc(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发报告 摘 要随着社会节奏的加快,平常工作的竞争强度也加大,生活的压力也跟着加重。所以休息时或下班后大家都需要个休闲的娱乐工具,来放松自己,缓解自己的压力,消除紧张的疲劳状态。连连看游戏是一种意趣休闲的小游戏,不仅能调节精神,还能在游戏中锻炼我们的眼力视野,注意力的专心的程度,开发我们的思维能力,同时可以充实自己,向高等级挑战,培养我们面对困难时自己所具有攻克困难的信心。J2ME虚拟机在手机上的普及为手机游戏的发展提供了最适合的土壤,随着MIDP2.0的发布,特别是其中新增的GameAPI使得手机游戏开发者可以更专注于游戏性的增强而不再是繁琐的动画处理与地图设计,让开发过程变得更加方便迅
2、捷,它是手机游戏发展的重要里程碑。本文完整地描述了如何在Jbuilder平台应用J2ME技术,特别是MIDP2.0中新增加的GameAPI在手机上实现连连看游戏(原型为电脑上游戏连连看),核心在于其GameMap类这一模块的构建。其中涉及到的技术有Midlet框架、游戏状态机、线程、精灵、地图、关卡、程序优化及兼容性设计等。关键词:J2ME,Midlet框架,连连看,地图 基于J2ME的手机连连看游戏开发目录1引言11.1编写目的11.2开发背景11.3项目开发目的11.4项目提出意义21.5参考文献22总体设计22.1需求分析22.1.1功能需求22.1.2开发环境需求32.2运行环境33开
3、发平台及开发技术43.1 J2ME基础知识43.2开发工具和环境搭配43.2.1开发工具43.2.2环境搭配54详细设计54.1界面详细设计54.2功能详细设计84.3打包测试145结论141引言1.1编写目的本报告是对连连看游戏进行详细设计,是系统实现的出发点,是后续开发步骤及软件维护工作的基础,报告用于沟通用户,加深开发人员对系统的理解,使得程序员能够根据本报告实现系统,本报告将成为以下各开发阶段的参考和约束文档。1.2开发背景随着技术对游戏经验的促进,游戏市场持续增长。越来越多的人开始认为,经过了许多人共用一台计算机的大型主机时代,一人一台计算机的个人PC时代之后,下一个时代就是一人多台
4、计算设备的普及计算时代(Ubiquitous Computing,IBM称之Pervasive Computing)。计算设备将从单一的PC扩展到各种各样的大小和功能,从家庭消费电子产品,到个人随身携带,穿着,车载的各种移动信息处理设备,多样化是这个领域的最大特点。一次编写,到处运行的平台无关性,对网络,多重设备间联网的机制(JINI)显然对这个领域是至关重要的软件条件。这个领域内的Java标准就是J2ME。 1.3项目开发目的本设计开发一个基于J2ME的手机连连看游戏。主要包括以下模块:游戏引擎模块、游戏界面模块。要求学生按照软件工程的方法,从需求分析入手,到概要设计、详细设计,然后编码、测
5、试,最终完成。能够培养学生理解并掌握软件开发基本流程和方法,掌握基于J2ME的基本开发技术、游戏开发技术。1.4项目提出意义随着社会节奏的加快,平常工作的竞争强度也加大,生活的压力也跟着加重。所以休息时或下班后大家都需要个休闲的娱乐工具,来放松自己,缓解自己的压力,消除紧张的疲劳状态。连连看游戏是一种意趣休闲的小游戏,不仅能调节精神,还能在游戏中锻炼我们的眼力视野,注意力的专心的程度,开发我们的思维能力,同时可以充实自己,向高等级挑战,培养我们面对困难时自己所具有攻克困难的信心。1.5参考文献1 詹建飞.J2ME 开发精解. 北京.电子工业出版社.2006.12 张小玮.J2ME无线平台应用开
6、发. 北京:.清华大学出版社.20043 张小玮著. J2ME无线平台应用开发. 清华大学出版社. 2003年11月2总体设计2.1需求分析2.1.1功能需求为了便于游戏者操作,游戏的界面简洁明了,控制区和操作区分别在游戏界面的上部分和下部分,这样游戏者不至于在进行游戏时搞混。控制区由一排按钮组成,里面包括游戏的模式选择,游戏的开始、暂停,游戏成绩分数点,游戏的帮助主题以及游戏的设置选项。游戏开始由函数调用来完成游戏图片的加载,随机产生图片排列。游戏操作区是用手机的上下左右键来控制图片的移动,用中间键作为选中键,当连续选定两个相同图片后,且两者的连线在算法允许消去的范围内,则消去这两个相同的图
7、形。当游戏者一时找不到可消去的相同的图片时,就可以利用控制区中的提示按钮,则会随机的产生一对可消去的图片。当游戏中还有图片且不可消去时,则可利用控制区中重新洗牌按钮,则会把存在的图片打乱后重新组合,就可以继续游戏。图3-2数据流图图3-3 数据流图2.1.2开发环境需求为了游戏者安装的方便以及游戏的兼容性,考虑到游戏者大多数用的都是Windows操作系统,游戏在Windows操作系统下开发,把游戏的兼容性问题降低到最低限度。游戏是Eclipse的环境下开发的。2.2运行环境(1) 设备微机一台,CPU:Intel 奔腾4以上版本;内存:512MB以上;硬盘:20G;打印机:1台。(2) 支持软
8、件适用操作系统:Windows XP以上Windows操作系统。运行软件:jdk1.60 + Eclipse7.0+wireless 2.5.2。3开发平台及开发技术3.1 J2ME基础知识J2ME,即Java 2 Micro Edition,是SUN公司推出的在移动设备上运行的微型版Java平台,常见的移动设备有手机,PDA,电子词典,以及各式各样的信息终端如机顶盒等等。最重要的移动终端当然是手机了,因此,我们主要讨论手机相关的J2ME规范。J2ME是Sun公司为嵌入式开发所定义的一个框架,一系列标准的规范所组成。所以J2ME是一个协议簇,而不是单一的规范。 3.2开发工具和环境搭配3.2.
9、1开发工具高级的MIDP应用程序开发工具能够帮助开发人员简化J2ME开发过程,包括Sun提供的官方开发工具WTK和手机厂商提供的专属SDK。(1) J2ME Wireless Toolkit: WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。 (2) J2ME 集成开发工具EclipseEclipse是一个开发源代码的、基于java的可扩展开发平台。Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。在Eclipse中
10、几乎每样东西都是插件,实际上正是运行在Eclipse平台上的种种插件提供我们开发程序的各种功能。同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。 EclipseME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。 3.2.2环境搭配(1) WTK:由于WTK自身并没有附带Java的运行环境JDK,所以,在WTK安装之前你需要安装自己的JDK 安装JDK 1.6.0安装J2ME Wireless
11、Toolkit (J2ME WTK) 2.5.2 参考文章:搭建开发平台WTK (2) Eclipse:除了Eclipse与EclipseME之外,你还需要java运行环境和一些手机模拟器来完成整个搭建工作安装JDK 1.6.0 安装Eclipse SDK 3.1 安装EclipseME 1.0 参考文章:搭建开发平台Eclipse 4详细设计4.1界面详细设计游戏的界面分为控制区和操作区,控制区是整个游戏的控制按钮的集中区域,操作区是游戏者进行游戏的场所。(1) 控制区控制区中有以下一些按钮:l 开始游戏按钮:进入游戏开始界面,玩游戏显示分数点数与所用时间。l 放弃游戏按钮:放弃本局游戏,进
12、行游戏模式选择重新开始游戏。l 退出按钮:退出游戏程序。l 重新洗牌按钮:把游戏中的图片重新排列。l 暂停按钮:暂停游戏。l 游戏说明按钮:游戏规则的说明。图4-1(2) 操作区操作区是游戏者进行游戏的场所,游戏的规则很简单,就是用不超过两次转折的连线把两个相同的图片连起来,直到把游戏画面中的图片消完为止。游戏采用GameMap类,用来加载图片和连连看的核心算法来选择图片选中以及消除图片的算法,用GameCanvas来接收手机键盘消息来消除图片和重画地图,用UITimer与GameCanvas来控制时间来计算游戏时间与判断是否能成功完成游戏通关。图4-2图4-34.2功能详细设计功能的详细设计
13、主要采用程序流程图作为工具来阐述。自动游戏开始游戏退出游戏暂停游戏图4-4(1) 游戏结束时的判断 这个主要表现两个问题:每一次消去图片后,均将相应位置的flag数组元素置0,且遍历flag数组是否为0。如果全部为0,则游戏结束。 当游戏结束时,直接向玩家发送gameover指令。 解决的办法:首先,每次消去图片后仅将图片数目(gamevalue变量控制)减2,当为0时,将gameover变量设为真值。而每次都向函数发送图片数目,当图片数目值为0时,即判断玩家已经胜利。(2) 游戏进入前的选择每个MIDlet程序都必须有一个主类,该类必须继承自MIDlet。它控制着整个程序的运行,并且可以通过
14、相应函数从程序描述文件中获取相关的信息。该类中拥有可以管理程序的创建、开始、暂停(手机中很可能有正在运行程序却突然来电的情况,这时应进入暂停状态。)、结束的函数。本程序主类为MainMIDP,并实现接口CommandLIstener。(3) 游戏背景 首先显示的是游戏的背景介绍,在类MainMIDP定义Form类对象m_frmMain,在startApp()函数中判断是否为刚进入游戏,如果为假的话,将创建Form类的实例,并且调用append()方法在表单上放置m_MainList菜单。调用setCommandListener()命令使Form与CommandListener建立关联。调用Di
15、splayable显示。seturrent()函数显示背景介绍窗口。当玩家点击ok后将调用display.setCurrent(m_MainList)以显示游戏菜单m_MainList。当玩家按住上或下键时,在函数keyPressed(int code)中的整型变量menuIndex相应的减1或加1,相应的,在paint()函数中会根据menuIndex绘制选项是否被选中。当移动选项条到某项,并点击ok时,在commandAction()方法中根据 menuIndex 来判断是“开始游戏”、“游戏说明”、“关于”、“退出”。例如当选择“关于”时,将调用MainMIDP类中的commandAct
16、ion ()方法以显示”关于”界面。(4) 游戏逻辑及五个重要类的实现GameCanvas类所实现的功能画游戏屏幕的时间间隔:private int m_paintTime;玩的时间计数:private int m_timeCount;一局游戏总共花费的时间 :private int m_GameTimeCount;定时次数调用次数计数:private int m_timeMcount;显示地图装载效果状态计数:private int m_IniGameMapCount;画连接线标志:private boolean m_bPaintCleanFlag;private boolean m_bPa
17、intCleanStart;private int m_iPaintCleanCount;游戏运行状态标志:private int m_StatusFlag; 0: 游戏图片文件装载过程,在程序启动的时候,另外一线程装载。 1:游戏地图文件初始化状态,出现地图初始化的效果 2:游戏进行中,检查剩下时间,调整状态条,显示分数等信息 3:单节游戏结束,处理是否继续游戏、退出游戏、保存记录;4:一局游戏结束,显示画面庆祝游戏地图信息: private GameMap m_gameMap;接收键盘状态信息:调用keyPressed()函数来消除相同图片后的设置以及画面的重画。并调用GameMap类来进
18、行游戏算法和规则的调用与判断。(5) 地图的移动根据游戏的设定,游戏中选图片是向下向上移动的,实现此功能的方法。每个创建Command实例的J2ME的应用程序也必须创建实现CommandListener接口的实例。每当用户通过commandAction()方法的方式与命令进行交互的时候,就会通过CommandLIstener.所以实现CommandListener的类必须实现commandAction()方法。在commandAction()方法中,使用getabel()方法获取命令的标签。如果getLabel()=“暂停”时,表示玩家点击了暂停键,此时,conti赋值为false,游戏画面的
19、绘制及游戏相关的运算暂停,并且,使用removeCommand(c)语句将“暂停”移除,使用addCommand(new Command(继续,Command.OK,2);将”继续“按纽”添加进来。当玩家点击“继续“时,conti赋值为true,并且,一定要调用start()方法,否则继续功能不可用。必须调用start()方法的原因是:J2ME的线程被stop()方法拿掉,如果想停止线程的运做,就必须依靠一个旗标(flag),在本程序中,flag就是boolean型变量conti。所以一旦此标识变量被设为false,那么while(conti)循环就会结束,线程也会跟着结束。当用户按下“继续”
20、的时候,start()将重新产生一个线程继续执行相关的运算和画面绘制。当玩家通关时或者任务失败时,将显示相应信息,并使用上面的方法将“暂停”键变为“返回”键盘,当点击“返回”键时,将返回主菜单选项,调用类lzhhdm里的方法menuscreensecond(),在此方法中,实例化一个MenuScreen类对象,并且使选项“新游戏”改变为”重新开始“。完成此项功能的语句子为MenuScreen.mainmenu0 =”重新开始”。当选择”重新开始“时,使用gamescreen=new gameScreen(this)将使所有变量重新被初始化,如地图的绘制、敌人出现位置的重置、敌人的数量、玩家飞机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- j2me 手机 连连 游戏 开发 大学毕业 论文
限制150内