基于j2me手机游戏连连看的设计与开发.doc_第1页
基于j2me手机游戏连连看的设计与开发.doc_第2页
基于j2me手机游戏连连看的设计与开发.doc_第3页
基于j2me手机游戏连连看的设计与开发.doc_第4页
基于j2me手机游戏连连看的设计与开发.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

xx大学本科生毕业设计(论文)第一章 绪 论1.1 手机应用现状目前手机应用中数量最大,使用人数最多的应用类型是手机游戏。该类应用作为传统手机应用,在各个平台上发展已近相对完善,手机上对各种流媒体的播放也已完美的支持。各类传统PC游戏厂商也已进入手机领域。根据iResearch艾瑞市场咨询整理的国外数据显示,全球手机游戏市场的收入规模在2005年达到了102亿美元, 2008年达到520亿美元。07年之后,手机游戏市场增速开始减缓,传统手机游戏逐渐显现颓势,市场增长主要由基于智能手机平台的游戏所带动。其中Nokia,Samsung,Sony Ericsson,Motorola等智能手机都支持Java ME平台,使得手机应用得到极大的推广。1.2 编写目的本文是对连连看游戏进行详细设计,是系统实现的出发点,通过本游戏的设计,综合自己在校期间所学的理论知识,设计该游戏,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,进一步巩固和加强自身对J2ME基础知识的理解,从而达到理论与实践相结合的目的。1.3 项目开发目的本设计开发一个基于J2ME的手机连连看游戏。主要包括以下模块:游戏引擎模块、游戏界面模块。按照软件工程的方法,从需求分析入手,到概要设计、详细设计,然后编码、测试,最终完成。能够培养学生理解并掌握软件开发基本流程和方法,掌握基于J2ME的基本开发技术、游戏开发技术。1.4 项目提出意义随着社会节奏的加快,平常工作的竞争强度也加大,生活的压力也跟着加重。所以休息时或下班后大家都需要个休闲的娱乐工具,来放松自己,缓解自己的压力,玩一玩手机游戏来消除疲劳。手机版连连看是一种意趣休闲的小游戏,不仅能调节精神,还能在游戏中锻炼我们的眼力视野,注意力的专心的程度,开发我们的思维能力,同时可以充实自己,向高等级、高难度挑战,培养我们面对困难时自己所具有攻克困难的信心。第二章J2ME游戏背景 随着技术对游戏经验的促进,游戏市场持续增长。商业IT革命为我们节省了时间和金钱,从而提高了我们的工作水平,我们因此花费更多的时间和金钱在游戏上,来改善生活的整体质量。甚至在当今困难的经济时代,游戏仍保持快速增长,他仍然是盈利行业的组成部分。2.1 J2ME的由来Java的最大目标和特点,就是一次编写,到处运行的平台无关性。但是,很自然的,正如Sun认识到的,One size doesnt fit all,一套标准无法适应各种不同的需求。因此,Java技术目前共有三套,分别针对不同的平台和应用。 i. Standard Edition(J2SE,标准版):针对桌面端PC和工作站的个人和低端商务应用。 ii. Enterprise Edition(J2EE,企业版):针对服务器端企业级应用,支持Servlets, JSP和XML等等。iii. Micro Edition(J2ME,袖珍版,也有翻译为小型版或者移动版的。)针对有限内存,显示和处理能力的设备,主要是消费电子和嵌入式设备领域(这实际正是Java语言设计最初的目标领域)。在消费电子和嵌入式设备领域,内存从几百K到几十M,从没有屏幕到Web-TV,CPU从低功耗的嵌入式处理器到206MHz的RISC处理器,硬件条件的差异是相当大的。这就使得J2ME的标准需要有不同的层次和类别来适应这个复杂的领域,因此相比之下J2ME就比J2SE和J2EE的标准要复杂得多。2.2 J2ME体系结构Configuration和Profiles 针对消费电子和嵌入式设备领域丰富多样的设备和彼此相差极大的计算能力及各种硬件条件,J2ME首先根据最基本的一些特征把它们划分为两类。具备间断网络通讯能力的个人移动信息设备:如手机,双向呼机,PDA(Personal Digital Assistant,个人数字助理,也称掌上电脑)等等。在Configuration中舍弃了设备的特殊性来保证Java平台的相容性,但是仅仅有Configuration显然是不够的,特殊的具体设备其独有的功能和硬件条件都没有得到支持。为此,在Configuration的基础上,根据设备具体功能再进行一次划分,比如智能手机,PDA等等。功能的划分也就是其他硬件条件的划分,比如屏幕大小,内存,计算能力,电力供应等等都是从属于功能的,因此同功能的设备的硬件条件都是非常相似的。Profile(译为简表或者简档)就是针对每一类功能设备的特殊性定义的与设备特性相关的API,建筑于Configuration之上,作为Configuration的扩展和补充。例如MIDP(Mobile Information Device Profile,移动信息设备Profile)就定义了关于移动信息设备(主要指智能手机和一部分具有无线通信功能的PDA)的图形界面,输入和时间处理,持久性存储,短消息等等的API,并且考虑到了移动信息设备的屏幕和内存限制。而正在制定中的PDA Profile则定义了针对PDA的API,其屏幕,内存条件都要大于MIDP,但是网络方面的要求则显然和手机有所不同。如下图所示,同属于一个Configuration的设备根据功能不同由不同的Profile来支持,Profile体现设备的特殊性,但是都建筑在一个共同的基础Configuration平台之上。 图1:Configuration和Profile之间的关系关于J2ME的体系结构,我们可以这样总结: Configuration的分类是根据计算能力的不同来划分的,同类设备的计算能力相近。Configuration是一个规范,定义了这类设备的共同Java平台,定义与设备无关的Java虚拟机和核心库,是平台相容性的基础。Profile的分类是根据设备功能划分的,同类功能的设备其他各种硬件条件和需求也相近。Profile是一组API,在某一Configuration的基础上扩展了针对设备特定功能的API,使得标准能够完全适应特殊的设备,彻底发挥设备的功能。J2ME体系的一般结构是:由Configuration定义的Java虚拟机运行于设备的宿主操作系统之上,构成整个平台的基础。Configuration提供了基本的语言特性,Profile提供针对设备的特殊功能API和扩展类库。应用程序的运行环境需要一个Configuration和至少一个Profile,多个Profile可以共存,也可以叠加。 我们用两个具体设备的实现作为例子说明。在一个运行Palm OS的PDA上,Configuration采用CLDC,虚拟机采用KVM(虚拟机和Configuration是紧密相连的,KVM只是CLDC定义的一个参考实现(reference implementation),并不是唯一的选择),然后采用PDA Profile的Profile。在另一个运行Symbian的智能手机上,则可以采用KVM,CLDC,MIDP。 图2:J2ME体系的一般结构和具体例子 第三章 游戏的开发平台及使用的主要技术3.1 J2ME简述J2ME,即Java 2 Micro Edition,是SUN公司推出的在移动设备上运行的微型版Java平台,常见的移动设备有手机,PDA,电子词典,以及各式各样的信息终端如机顶盒等等。最重要的移动终端当然是手机了,因此,我们主要讨论手机相关的J2ME规范。J2ME平台是由配置( Configuration) 和简表( Pro-file) 构成的。配置是提供给最大范围设备使用的最小类库集合, 在配置中同时包含Java虚拟机。简表是针对一系列设备提供的开发包集合。在J2ME中还有一个重要的概念是可选包( Optional Package) ,它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME中制定了JSR82( Bluetooth-API) 提供了蓝牙的支持。目前, J2ME 中有2个最主要的配置, 分别是Connected Limited Devices Configuration(CLDC) 和Connected Devices Configuration( CDC) 。CLDC是两个配置中较小的一个,为具有间断性联网能力、较慢的处理器和有限内存的设备设计的。这些设备包括移动电话、双工呼叫器和入门级的PDA,它们通常具有 16位或 32位的CPU、128KB512KB可用于Java平台实现和相关应用程序的内存。CDC是为处理能力较强、内存空间更大、联网能力更出色的设备设计的。这些设备包括电视机顶盒、车载娱乐系统、高端 PDA 等。CDC 包含一个具有完备特性的 Java虚拟机,比 CLDC 更大的 Java SE的子集。CDC的目标设备通常具有32位或64位的处理器, 2MB以上的可用于 Java平台实现和相关应用程序的内存空间。J2ME是Sun公司为嵌入式开发所定义的一个框架,一系列标准的规范所组成。所以J2ME是一个协议簇,而不是单一的规范。 3.2 开发工具和环境搭配3.2.1 开发工具高级的MIDP应用程序开发工具能够帮助开发人员简化J2ME开发过程,包括Sun提供的官方开发工具WTK和手机厂商提供的专属SDK。J2ME Wireless Toolkit: WTK 的全称是Sun J2ME Wireless Toolkit Sun的无线开发工具包。这一工具包的设计目的是为了帮助开发人员简化J2ME的开发过程。该工具箱包含了完整的生成工具、实用程序以及设备仿真器。 J2ME 集成开发工具EclipseEclipse是一个开发源代码的、基于java的可扩展开发平台。Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。在Eclipse中几乎每样东西都是插件,实际上正是运行在Eclipse平台上的种种插件提供我们开发程序的各种功能。同时各个领域的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。 Eclipse ME作为Eclipse一个插件,致力于帮助开发者开发J2ME应用程序。EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境。 3.2.2 环境搭配WTK:由于WTK自身并没有附带Java的运行环境JDK,所以,在WTK安装之前你需要安装自己的JDK l 安装JDK 1.6.0l 安装J2ME Wireless Toolkit (J2ME WTK) 2.5.2 Eclipse:除了Eclipse与Eclipse ME之外,你还需要java运行环境和一些手机模拟器来完成整个搭建工作安装JDK 1.6.0 l 安装Eclipse SDK 3.1 l 安装Eclipse ME 1.0 第四章 手机连连看的需求分析4.1 需求分析4.1.1 游戏功能需求本人设计的这款手机游戏名叫“海贼王连连看”,需选择一对相同的海贼王进行连线,每一局里玩家需要在规定的时间内消除所有的海贼王,当完成任务后,方能进行下一关。介绍这个游戏特定的规则:1、单人模式:连接两个相同的海贼王图案,但此连线是在避开其他的图案后,呈现的路径以不超过二转弯为主,如符合规定则消除此一对图案而得分。2、提示:在找不出可以被消除的图片时候,可以点击提示,使用一次提示后,会扣除一定的分数。 3、刷新:当出现残局时,选择刷新游戏会自动重新洗牌,使游戏能够继续进行下去。4、定时器:为比赛倒计时使用,每轮比赛的时间游戏,在达到448秒的时间后为超过规定本场比赛,则为失败。为了便于游戏者操作,游戏的界面简洁明了,控制区和操作区分别在游戏界面的上部分和下部分,这样游戏者不至于在进行游戏时搞混。控制区由一排按钮组成,里面包括游戏的模式选择,游戏的开始、暂停,游戏成绩分数点,游戏的帮助主题以及游戏的设置选项。游戏开始由函数调用来完成游戏图片的加载,随机产生图片排列。游戏操作区是用手机的上下左右键来控制图片的移动,用中间键作为选中键,当连续选定两个相同图片后,且两者的连线在算法允许消去的范围内,则消去这两个相同的图形。当游戏者一时找不到可消去的相同的图片时,就可以利用控制区中的提示按钮,则会随机的产生一对可消去的图片。当游戏中还有图片且不可消去时,则可利用控制区中重新洗牌按钮,则会把存在的图片打乱后重新组合,就可以继续游戏。图3-2数据流图 图3-3 数据流图4.1.2 开发环境需求分析为了游戏者安装的方便以及游戏的兼容性,考虑到游戏者大多数用的都是Windows操作系统,游戏在Windows操作系统下开发,把游戏的兼容性问题降低到最低限度。游戏是Eclipse的环境下开发的。4.1.3 用户需求分析通过对用户的访谈和对Windows环境下的连连看游戏的研究,得到以下几 方面的需求。 游戏界面需要在手机屏幕上方显示时间条和具体时间数值,友好而直观的显 示用户剩余时间。蓝牙竞技时显示对方剩余图案数量,增加竞争气氛。 初始界面需要中文菜单操作,有背景图片,不用很复杂;游戏界面前景的图 案(或叫图像块)使用一些卡通表情来表示,背景使用桌面效果图片,增加真实感。 在找不到可以连通的相同图案时,用户可以选择提示显示符合规则可以连通 的相同图像块。在图像块没有消完,但是没有符合规则可以连通的图像块时,用户可以选择在现有图像块基础上进行重新布局。可以选择提示,炸弹,刷新等工具,都会扣除一定的分数。 有简单的获胜祝贺和失败提示界面。有简单的声音,并可以设置是否播放声 音。记录用户各种难度等级时的最好成绩,手机关机后不丢失。根据连连看游戏的特点和对用户需求的分析,界面式样设计为两种,菜单界面和游戏界面,如下图所示。连连看单人模式继续游戏蓝牙对战成绩排名系统设置游戏帮助退出游戏时间 :5:00提示*2(1键) 刷新*3(3键)游戏画面图4-1连连看游戏的菜单界面和游戏界面4.2运行环境(1) 设备微机一台,CPU:Intel 奔腾4以上版本;内存:512MB以上;硬盘:20G;(2) 支持软件适用操作系统:Windows XP以上Windows操作系统。运行软件:jdk1.60 + Eclipse7.0+wireless 2.5.2。第五章 详细设计5.1 界面详细设计游戏的界面分为控制区和操作区,控制区是整个游戏的控制按钮的集中区域,操作区是游戏者进行游戏的场所。控制区控制区中有以下一些按钮: 单人游戏按钮:进入游戏开始界面,玩游戏显示分数点数与所用时间。 继续游戏按钮:进入上次退出之前所保存的游戏界面,继续游戏。 蓝牙对战按钮:利用蓝牙和其他玩家进行蓝牙连接,同时进行游戏。 系统设置按钮:设置音乐的开关。 退出游戏按钮:退出游戏程序。 重新洗牌按钮:把游戏中的图片重新排列。 暂停游戏按钮:暂停游戏。 游戏帮助按钮:游戏规则的说明以及每个按键的功能。操作区操作区是游戏者进行游戏的场所,游戏的规则很简单,就是用不超过两次转折的连线把两个相同的图片连起来,直到把游戏画面中的图片消完为止。游戏采用GameMap类,用来加载图片和连连看的核心算法来选择图片选中以及消除图片的算法,用GameCanvas来接收手机键盘消息来消除图片和重画地图,用UITimer与GameCanvas来控制时间来计算游戏时间与判断是否能成功完成游戏通关。 图5-1游戏中的画面 图5-2过关画面5.2 功能详细设计功能的详细设计主要采用程序流程图作为工具来阐述。自动游戏开始游戏退出游戏暂停游戏 图5-3 流程图(1) 游戏结束时的判断 这个主要表现两个问题:每一次消去图片后,均将相应位置的flag数组元素置0,且遍历flag数组是否为0。如果全部为0,则游戏结束。 当游戏结束时,直接向玩家发送gameover指令。 解决的办法:首先,每次消去图片后仅将图片数目(gamevalue变量控制)减2,当为0时,将gameover变量设为真值。而每次都向函数发送图片数目,当图片数目值为0时,即判断玩家已经胜利。(2) 游戏进入前的选择每个Midlet程序都必须有一个主类,该类必须继承自Midlet。它控制着整个程序的运行,并且可以通过相应函数从程序描述文件中获取相关的信息。该类中拥有可以管理程序的创建、开始、暂停(手机中很可能有正在运行程序却突然来电的情况,这时应进入暂停状态。)、结束的函数。本程序主类为MainMIDP,并实现接口CommandListener。(3) 游戏背景 首先显示的是游戏的背景介绍,在类MainMIDP定义Form类对象m_frmMain,在startApp()函数中判断是否为刚进入游戏,如果为假的话,将创建Form类的实例,并且调用append()方法在表单上放置m_MainList菜单。调用setCommandListener()命令使Form与CommandListener建立关联。调用Displayable显示。seturrent()函数显示背景介绍窗口。当玩家点击ok后将调用display.setCurrent(m_MainList)以显示游戏菜单m_MainList。当玩家按住上或下键时,在函数keyPressed(int code)中的整型变量menuIndex相应的减1或加1,相应的,在paint()函数中会根据menuIndex绘制选项是否被选中。当移动选项条到某项,并点击ok时,在commandAction()方法中根据 menuIndex 来判断是“开始游戏”、“帮助”、“关于”、“退出”。例如当选择“关于”时,将调用MainMIDP类中的commandAction ()方法以显示“关于”界面。(4) 游戏逻辑及五个重要类的实现GameCanvas类所实现的功能u 画游戏屏幕的时间间隔:private int m_paintTime;u 玩的时间计数:private int m_timeCount;u 一局游戏总共花费的时间 :private int m_GameTimeCount;u 定时次数调用次数计数:private int m_timeMcount;u 显示地图装载效果状态计数:private int m_IniGameMapCount;u 画连接线标志:private boolean m_bPaintCleanFlag;private boolean m_bPaintCleanStart;private int m_iPaintCleanCount;u 游戏运行状态标志:private int m_StatusFlag; 0: 游戏图片文件装载过程,在程序启动的时候,另外一线程装载。 1:游戏地图文件初始化状态,出现地图初始化的效果 2:游戏进行中,检查剩下时间,调整状态条,显示分数等信息 3:单节游戏结束,处理是否继续游戏、退出游戏、保存记录;4:一局游戏结束,显示画面庆祝游戏地图信息: private GameMap m_gameMap;接收键盘状态信息:调用keyPressed()函数来消除相同图片后的设置以及画面的重画。并调用GameMap类来进行游戏算法和规则的调用与判断。(5) 地图的移动根据游戏的设定,游戏中选图片是向下向上移动的,实现此功能的方法。每个创建Command实例的J2ME的应用程序也必须创建实现CommandListener接口的实例。每当用户通过commandAction()方法的方式与命令进行交互的时候,就会通过CommandListener.所以实现CommandListener的类必须实现commandAction()方法。在commandAction()方法中,使用getabel()方法获取命令的标签。如果getLabel()=“暂停”时,表示玩家点击了暂停键,此时,conti赋值为false,游戏画面的绘制及游戏相关的运算暂停,并且,使用removeCommand(c)语句将“暂停”移除,使用addCommand(new Command(继续,Command.OK,2);将“继续”按钮添加进来。当玩家点击“继续”时,conti赋值为true,并且,一定要调用start()方法,否则继续功能不可用。必须调用start()方法的原因是:J2ME的线程被stop()方法拿掉,如果想停止线程的运做,就必须依靠一个旗标(flag),在本程序中,flag就是boolean型变量conti。所以一旦此标识变量被设为false,那么while(conti)循环就会结束,线程也会跟着结束。当用户按下“继续”的时候,start()将重新产生一个线程继续执行相关的运算和画面绘制。当玩家通关时或者任务失败时,将显示相应信息,并使用上面的方法将“暂停”键变为“返回”键盘,当点击“返回”键时,将返回主菜单选项,调用类lzhhdm里的方法menuscreensecond(),在此方法中,实例化一个MenuScreen类对象,并且使选项“新游戏”改变为“重新开始”。完成此项功能的语句子为MenuScreen.mainmenu0 =“重新开始”。当选择“重新开始“时,使用gamescreen=new gameScreen(this)将使所有变量重新被初始化,如地图的绘制、敌人出现位置的重置、敌人的数量、玩家飞机的当前位置等。使用gamescreen.start()重新开始程序的循环。在方法paint()过程中,除了要重绘地图、图片外还要在上方绘制关卡信息、玩家分数点、及所用时间等。首先使用lm.setViewWindow()和lm.paint()设定可视范围ViewWindow和从哪里画起。其次,使用g.drawString()绘制屏幕上方的关卡信息、战绩、玩家剩余生命标志。当每次刷新绘图页面时,应使用GameCanvas的flushGraphics()将屏幕后台的缓冲区内的图像刷新到前台来(flushGraphics()应该写在paint() 的最后)。(6) 核心算法判断图片是否可擦除两点连接原理原理坐标选中两点,坐标分别为S(sx,sy)、T(tx,ty),判断连接从S点开始,我们可以从四个方向与T点进行连接,分别是上、下、左、右,在此,我们以向上为例进行算法分析。每次向上连接一点时,又有两个方向可以选择,即左和右(即分T在S的左、右边)。在此,我们选择选择向左为例对算法进一步分析。确定了方向的选择,那么连接线的形状就是:SSTT(T在S的左边的连接情况)那么如何判断这一系列连接线是否可连呢?源点S的坐标为(sx,sy),目标点T坐标(tx,ty)在算法中我们定义几个临时变量:x1、x2、 y1、 y2,当然还有游戏地图的边界变量:stMap_x、stMap_y。源点S不需要判断,默认可以作为连接线上的一点。如果sy0,将sy-1赋给y1,如果坐标(sx、y1)没有图片文件(我们在此算法中用empty表示),则标记此点为可连接点(我们在此算法中用SetCntMaps(x, y)表示),如果有图片文件则此路线不可行,也就是选择向上连接是无法满足要求的。我们在这里演示的情况是先向上再向左,所以接下来的判断条件是tx 0y1=sy-1(sx,y1)可连接SetCntMaps(Sx, y1)x2=sx-1(x2,y1)可连接SetCntMaps(x2, y1)x2=txx2=x2-1y2=y1-1(x2,y2)可连接SetCntMaps(x2, y2)y2=y2-1y2=0结束是是是是否否否否5.3 打包测试使用Eclipse完成代码的调试之后,需要使用WTK生成包(即jar和jad文件),其过程如下:首先,使用WTK的新建项目功能建立一个新项目,要求与Eclipse工作区下的项目名称、MIDlet类名相同。 新建项目后,将Eclipse工作区下的.java文件拷入src文件夹,将.class文件拷入class文件夹(需要新建),将pic文件夹拷入res文件夹,点击生成,如一切正常之后,选择项目-包-生成包。生成的jar和jad文件存储在LLK/bin目录下。运行Wireless Toolkit 2.5.2,使用手机模拟器进行测试。点击Lanuch按纽,进入游戏界面,即可以进行游戏测试了。 结 论本论文简要的介绍了基于j2me手机游戏连连看的制作过程,虽有很多不足之处,对于初学者也有一定的参考价值。这次的软件开发是对我考验较大的一次,我只能用十几天的时间学习J2ME,然后完成这个游戏开发。虽然难度很大,完成的也不是很好,但是我已经全力以赴,希望能尽最大的努力,完成得更好。最终,我学到一些新的知识,至少我们对J2ME有所了解,我还学到了论文的制作过程、设计与排版,同时也尝到了成功的喜悦,最重要的是我真正体会到:只有努力了才会有收获参 考 文 献 1 王森Java手机程序设计入门M电子工业出版社,2005 2 M ichaelM orrison.J2ME 手机游戏编 程入门 M .人民邮电出版社 ,2005.3 (美)Bruce Eckel著,陈昊天 译.Java编程思想M.机械工业出版社,2007.64 福喜,黄昊著. Java项目开发与毕业设计指导M.清华大学出版社,2008.65 詹建飞.J2ME 开发精解M.电子工业出版社.2006.16 张小玮.J2ME无线平台应用开发.清华大学出版社.20047 陈立伟 张克非 黎秀红著.精通JAVA手机游戏与应用程序设计N.中国青年出版社.2005.58 微型爪哇人.Java手机程序开发M.中国铁道出版社,20039 米川英树.J2ME MIDP手机游戏程序设计M.中国铁道出版社.200510 印薅.Java语言与面向对象程序设计M.清华大学出版社.200011 荣钦科技 .Java 2 游戏设计 M .清华大学出 版社 ,2004. 12 金春霞,白秋产.基于J2ME 技术手机游戏开发与实现M.计算机与数字工程 ,200813 袁海燕、王文涛著,JAVA实用程序设计100例M,人民邮电出版社.2005.514 李振鹏,龚剑J2ME手机游戏开发技术详解M清华大学出版社,2006 15 朱福喜著. Java程序设计技巧与开发实例M.北京:人民邮电出版社,2004.2致 谢在整个毕业设计的各个阶段我都得到了xx老师的悉心指导和耐心帮助。尤其是论文撰写阶段,老师在论文内容和格式这样的细节上提出了很多有建设性的意见和建议。缺少了老师的帮助,我不会如此顺利的完成毕业设计这个重要任务。在此向xx老师表示衷心的感谢。在系统设计开发阶段我要感谢众多热心的网友。是他们使我对手机软件开发有一个初步认识并把这些认识应用到手机游戏的开发上。众多热心的网友给我提供了很多J2ME开发的入门教程并不厌其烦的解答我的疑问,使我能快速了解J2ME开发的基本流程。在此向他们表示衷心的感谢。大学的四年学习生活中我还要感谢所有的任课老师和同学。老师教导的知识是我能够完成毕业设计的基础。同学们互相帮助、团结友爱的精神是我顺利完成大学学习生活的基础。在此向你们表示衷心的感谢。最后还要感谢我的父母和亲友,他们无私的爱和奉献永远是我不断进取的动力。 袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论