为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

老虎吃小孩手机游戏开发

2018-02-19 9页 doc 45KB 153阅读

用户头像

is_477730

暂无简介

举报
老虎吃小孩手机游戏开发老虎吃小孩手机游戏开发 “老虎吃小孩”手机游戏开发关键技术 作者:呆呆向前冲参赛队 摘要 呆呆向前冲开发团队于2010年7-9月开发完成了一款益智类“老虎吃小孩”手机游戏。本文将重点对这款游戏在实现过程中使用到的关键技术作出详细说明。 本游戏在开发过程中涉及到的关键技术包括:“老虎吃小孩”手机游戏是建立在胶东地区的民间广为流传的游戏“老虎吃小孩”基础之上的一款棋类游戏,基本的走子方法与之类似,本文根据基本的走子方法给出了人机对战中老虎吃子算法的具体思想。根据手机平台的特殊性,“老虎吃小孩”手机游戏实现了通过蓝牙数据传输实现...
老虎吃小孩手机游戏开发
老虎吃小孩手机游戏开发 “老虎吃小孩”手机游戏开发关键技术 作者:呆呆向前冲参赛队 摘要 呆呆向前冲开发团队于2010年7-9月开发完成了一款益智类“老虎吃小孩”手机游戏。本文将重点对这款游戏在实现过程中使用到的关键技术作出详细说明。 本游戏在开发过程中涉及到的关键技术包括:“老虎吃小孩”手机游戏是建立在胶东地区的民间广为流传的游戏“老虎吃小孩”基础之上的一款棋类游戏,基本的走子方法与之类似,本文根据基本的走子方法给出了人机对战中老虎吃子算法的具体思想。根据手机平台的特殊性,“老虎吃小孩”手机游戏实现了通过蓝牙数据传输实现人人对战,本文将具体阐述蓝牙通信的实现方法。由于手机内存的限制,在游戏开发过程中为节省图片刷新所耗的时间及占用的内存,本团队通过解析图片存储格式对图片进行了压缩,本文将具体阐述实现图片压缩的方法。根据棋类手游的特点,“老虎吃小孩”手机游戏允许玩家在走子过程中的悔棋操作,本文将给出实现悔棋的具体方法描述。“老虎吃小孩”手机游戏实现了游戏进度的保存,本文也将给出游戏进度保存的实现方法。 本文给出的“老虎吃小孩”手机游戏在开发过程中涉及到的关键技术,使得本款手机游戏能够在Nokia6120及以上配置的手机上运行,且运行过程中无致命错误出现。 关键字:行子算法 蓝牙通信 图片压缩 进度保存 一、 游戏介绍 “老虎吃小孩”益智类手机游戏是由山东大学软件学院呆呆向前冲团队于2010年7-9月开发完成的。近年来,随着手机的逐步兴起和普及,作为休闲娱乐项目的手机游戏显示出了强大的活力和发展空间,并逐渐成为一个新兴产业。“老虎吃小孩”手机游戏就是在这样的时代背景下进行开发的。本款游戏操作简单,容易上手,娱乐性强。游戏界面人性化,交互性非常强,且具有强烈的创新性,用色彩斑斓的涂鸦风格带给用户一种全新的游戏视觉感受。 本款游戏的最大特点是率先实现了“乡土游戏”与“手机游戏”的完美结合。在胶东地区,无论是在路口、在田间 ,劳作休息之余用树枝在地上画一个棋盘,找来些石子土块做棋子,两个人就可以痛痛快快的杀上一盘。娱乐了身心又开拓了思维,是普通劳动人民的一 种智慧结晶。本款游戏以这样一个民间广为流传的乡土游戏为基础,稍加改进后将其与手机平台实现完美结合,借用手机为媒介,很大程度上弘扬了民间文化,对民间文化的推广起到了不可小视的作用。此外,本款游戏通过采用蓝牙通信技术实现了人人对战,成为游戏的第二大特色。手机游戏的重要分支棋类游戏种类繁多、五花八门,但细细观察,绝大多数的棋类游戏都只提供了人机对战模式下的游戏方式。本款游戏在综合考虑游戏的可玩性和实现难度等多方面因素的条件下,提出了采用蓝牙技术实现人人对战的思想并加以实现,大大提升了游戏的可玩性。 二、游戏主要功能 A. 用户通过手机键盘的上下左右键及2468键可以控制游戏的进行。 B. 用户可以通过“设置选项”中的声音和难度选项开关游戏声音、设置游戏难度。 C. 用户可以通过查看“帮助”查看游戏和操作说明。 D. 用户可以通过选择“挑战模式”,与手机进行人机对战,并通过改变难度设置得 到不同的游戏体验。 E. 用户可以通过选择“对决模式”,通过蓝牙连接其他用户进行人人对战。 F. 在游戏过程中用户可以悔棋,在“对决模式”下会向对方发送悔棋请求,对方 同意后方可悔棋。 二、 游戏架构(技术架构、功能模块) 游戏架构: 游戏共分为:后台程序控制模块、界面控制模块、界面显示模块、声音设备控制模块四个主要模块。各个模块的关系如图,所示。 模块功能: ,.界面模块: 界面模块包含了“老虎吃小孩”手机游戏中所用的所有界面图像,包括挑战模式及其子菜单、对决模式及其子菜单、设置及其子菜单等,实现在与用户交互过程中响应用户的操作。 对于本模块要求是较高的响应速度和最小限度的代码冗余。 2(界面控制模块: 界面控制模块实现了“老虎吃小孩”手机游戏中全部的屏幕画面切换操作,它将创建和初始化游戏中的显示对象,通过设置不同显示对象来实现它切换屏幕的实际功能。 结 束 存储系统管理 退 出 用户 开始游戏后的 画面 挑战模式 对决模式 界后台程序控制 设置 面 界面控制 模帮助 模块 块 关于 退出 算法 声音设备控制 模块 图, “老虎吃小孩”手机游戏模块关系图 3(存储系统管理模块: 存储系统管理模块负责存储用户的,由于使用J2ME开发,不支持永久存储,因此需要开辟存储单元存储用户的永久信息。 4(对决模块: 对决模块主要涉及蓝牙数据通信,对游戏双方作服务器端和客户端的分开处理,使得双方拥有独立的画布、逻辑处理、数据处理。 5(算法模块: 算法模块负责挑战模式中老虎的走法,为整个游戏中的人工智能部分。 6(声音设备控制模块: 声音设备控制模块为控制模块提供控制声音设备音量大小、声音开关的接口。为数据储存模块提供接口访问其声音大小、开关值的借口,以便与存储功能的实现。 四、 关键技术 ,、老虎吃子算法 在人机模式下老虎自动走子,其中老虎要能够选择最优的路线,这个过程是由算法实现的,下面具体阐述老虎吃子算法的基本思想。 开始游戏 初始化 走子 悔棋 判断胜负 机器走棋 结束 游戏中分为难,中,易三个等级,从技术实现的角度来说,只要实现了最难等级,其余 的只需要删除一些条件即可,因此以下着重说明最难等级的实现技术。 电脑可以预先判断两步,并选择其中最优的。以下是判断顺序: 1.首先判断自己会不会被堵死,若被堵死,且能吃并且吃后不会被堵死则吃子,若不能吃则逃跑,不满足则转到2。 2.判断能不能吃子,若能吃并且吃后不会被堵死,则吃子,若不能吃则转到3。 3.判断下一步能不能吃子,并且朝能吃最多子的方向移动,若不满足则转到4。 4.这一步不能吃,下一步也不能吃,则尽量朝棋盘中央移动。 中等难度 跳过第一步。简单难度,则能吃就吃,不会判断吃后会不会被堵死。 结束条件:每次走子后,若小孩的数量少于6个,则老虎方胜利,若两只老虎周围都是小孩,则小孩方胜利。老虎吃小孩的关键技术 游戏中分为难,中,易三个等级,从技术实现的角度来说,只要实现了最难等级,其余的只需要删除一些条件即可,因此以下着重说明最难等级的实现技术。 电脑可以预先判断两步,并选择其中最优的。以下是判断顺序: 1.首先判断自己会不会被堵死,若被堵死,则无路可走;若没被堵死,且能吃并且吃后不会被堵死则吃子,若不能吃则逃跑,不满足则转到2。 2.判断能不能吃子,若能吃并且吃后不会被堵死,则吃子,若不能吃则转到 3.判断下一步能不能吃子,并且朝能吃最多子的方向移动,若不满足则转到 4.这一步不能吃,下一步也不能吃,则尽量朝棋盘中央移动。 中等难度 跳过第一步。简单难度,则能吃就吃,不会判断吃后会不会被堵死。 结束条件:每次走子后,若小孩的数量少于6个,则老虎方胜利,若两只老虎周围都是小孩或墙壁,则小孩方胜利。 2、蓝牙通信的实现 在蓝牙对战开始前,必须先进行客户端和服务端的连接。由服务端先启动;客户端后启动,进行搜索。搜索到服务端后,连接;连接成功才能开始蓝牙对战。在对战过程中不断对玩家的按键进行逻辑处理,然后把动作表现在手机屏幕,游戏最后输出对战结果。 如下图所示:描述了蓝牙模块的流程逻辑 首先服务器端开启一个线程,启动服务,获取蓝牙设备,并使设备可以被发现。使用SPP(串口连接简表)打开一个FRCOMM链接。注册服务,等待客户连接。程序中的acceptAndOpen()方法将阻塞当前线程。当有客户端连接时,acceptAndOpen()方法将返回一个StreamConnection对象。然后当服务器获取一个连接后关闭服务。进而开始对弈。如果在搜索过程中发生异常错误,程序会有相应的提示。对于客户端来说,首先创建蓝牙客户端,通过调用getLocalDevice()方法获取蓝牙设备实例,进而调用getDiscoveryAgent()方法获取搜索代理,该代理对象负责搜索附件的蓝牙设备和蓝牙设备上的服务。开始搜索,调用startInquiry(DiscoveryAgent.GIAC, this)方法开始查找附近的蓝牙设备,该方法不会阻塞当前线程。接下来开始开始搜索服务,调用searchServices(null, uuids, rDevice, this); 方法搜索rDevice设备上的服务。等待查询服务结果,假设已经成功搜索到设备,则创建连接。此时服务器和客户端成功连接,当双方走子时候,可以相互发送数据,告知对方相应的参数。使得双方走子同步进行。(远程蓝牙设备中搜索蓝牙服务中自动调用的方法在此不再赘述)。 ,、图片压缩的实现方法 本团队在游戏开发的过程中采用多种手段的综合运用实现了图片的压缩。首先,由于开发环境J2ME主要支持的图片格式为PNG格式,我们通过Photoshop将所用到的图像元素转化为PNG的同时,将其存储为Web所用格式中的PNG-8,由于Web图形只可以使用浏览器安全颜色216种,其他的颜色都要抖动处理,即被这216种相近的颜色所取代,所以处理后压缩比很高,此外,PNG-8只用8位来存储一个像素点,比PNG-24节约三分之二的存储空间 占用,且经过测试,PNG-8足以满足手机游戏的需求,压缩后,文件大小在原文件的10%-30%之间。然后,通过解析PNG-8文件的存储格式,对处理后的文件进行二次压缩。 ,、悔棋和存储的实现 悔棋的技术主要是运用堆栈保存和恢复的技术: 1(在单机游戏中,每走一步要记录棋子的位置,当需要悔棋时需要在堆栈中弹出两次,恢复后一次的棋盘信息,恢复的同时需要将此时的棋盘信息保存压栈。 2(在对战模式中,需要记录双方各自的棋盘信息,并且做压栈处理,如果本方悔棋可分为两种情况:一.如果对方没有走出了下一步在得到对方的同意后,此时需要通知对方悔棋两步,自己一方悔棋两步;二.如果对方尚未走出下一步,则需要通知对方悔棋一步,己方悔棋一步。此时方能恢复到最初的状态。在对方不同意悔棋的情况下不允许改变现在的棋盘状态。悔棋的关键地方就是在栈的辅助作用下,做好棋盘信息的存储与恢复。 持久化存储的关键技术,此时也有两个关键的地方,一个是棋盘在结束游戏前要进行全方位的信息保存,此时不能依赖于堆栈需要进行手机内的持久化存储,另一个关键点就是恢复上一次的棋盘详细情况,此时是从持久化的存储介质中读出,然后如果玩家选择恢复到上一次的游戏情况,便可以完整恢复了。 五、 代表性结果展示 以下是本软件运行的部分截图: 六、结论与展望 通过本次开发,总结以下经验教训: 1. 要充分的利用强大的网络资源。 2. 要充分认识在软件开发中的重要作用,制定严格的管理规章。 3. 培养积极的团队意识,组员之间要分工协作。 4. 注意制作详细的开发日志,保留质量高的相关数据。 5. 进行准确到位的需求,编写详尽的需求文档,为下一阶段的开发设计奠定坚实 的基础。 6. 测试数据尽量详细、全面,并设计出合适的测试用 七、指导老师意见 手机游戏的优势是很明显的,这在于游戏下载十分方便,单机手机游戏不用后期的游戏成本投入,手机已经日益成为现代人身边必备的一种重要工具,已成为都市时尚文化和消费主义的象征,更重要的是随着数据业务的成熟,寄托于移动通信网络与移动终端的无线游戏应运而生,手机游戏又进一步被赋予了网络游戏人人交互的特点而显得更具挑战性、刺激性和真实感,因此迅速成为目前市场的中坚力量。
/
本文档为【老虎吃小孩手机游戏开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索