欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于Android推箱子游戏的设计与实现毕业论文.doc

    • 资源ID:2394003       资源大小:2.55MB        全文页数:49页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于Android推箱子游戏的设计与实现毕业论文.doc

    本科毕业设计(论文) 题 目 基于Android推箱子游戏的设计与实现 系(院) 计算机科学与工程学院 年 级 2008 专 业 软件工程 班 级 Y121073 学 号 Y12107323 学生姓名 孔静洁 指导教师 宋东兴 职 称 讲师 论文提交日期 2011-05-16 基于Android推箱子游戏的设计与实现摘 要本系统主要是实现基于Android的推箱子游戏,推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力。游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置。这就要求玩家巧妙的运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发出了各种版本、各种类型的推箱子。这其中也包括很多手机版本的实现,伴随着Android SDK技术的不断发展,一些基于Android应用也不断推陈出新,很快推箱子游戏便进入了千家万户。此Android推箱子游戏是基于Android SDK2.2基础上设计的,主要分为游戏菜单界面、玩家定制功能、游戏数据存储、游戏背景音乐设置、游戏帮助等功能模块的设计与实现,其中游戏菜单界面模块主要是供用户功能选择而用的;玩家定制则主要是通过提供游戏难度选择,使玩家根据自己的情况选择不同的关卡;游戏用户数据存储主要是采用轻量级数据库存储技术存储游戏用户的成绩;游戏背景音乐设置主要是实现用户可以选择自己喜欢的音乐的功能;其次还包括音量的大小开关;用户游戏指南等功能模块。本系统采用MVC开发模式,使用SQLite数据库存储技术,基于Android SDK2.2开发平台,使用Eclipse+Android SDK2.2+DDMS+DroidDraw作为系统开发、调试的主要工具关键词:Android推箱子游戏 MVC SQLite Android SDK2.2The Design and Implementation of the PushBox System Based on AndroidAbstractThis system mainly is to realize the pushed box game based on Android ,Pushed box is a section from Japan's oldest game and designed to train people logical thinking ability. Game scene generally are set in the narrow space warehouse, and demanded the box is put to the appointed place. This requires player clever use limited space and channel, reasonable arrangement of the box location and movement order just may complete the task. Along with the computer game development, many lovers of programming based on this game ideas developed out various versions, various types of pushed box. They include a lot of mobile phones version of the realization, accompanied by Android SDK technology unceasing development, some based on Android applications are constantly, quickly pushed box game entered innumberable families. This Android pushed box game is based on SDK2.2 Android based on design, mainly divides into the game menu interface, customization function, game data storage, game background music Settings, games help etc function module design and implementation of the game menu interface module, which is mainly for the user function selection and use, Customization are mainly by providing game difficulty choice, make the player on its own choice of different levels, The game customer data storage is mainly to adopt a lightweight database storage technology memory game user's accomplishments, Game background music Settings is mainly realized the user can choose your favorite music function; Secondly also includes volume size switches, User game guides function modules.The system USES the MVC development pattern, use SQLite database storage technology, based on SDK2.2 development platform, use Android Eclipse SDK2.2 DDMS + + + Android DroidDraw as system development, the commissioning of the main toolsKeywords: Android pushed box game. SDK2.2 MVC SQLite Android目 录1 引言11.1 开发背景11.2 开发目的和意义21.3 论文研究内容32 ANDROID推箱子系统的相关研究42.1MVC开发模式42.2 推箱子游戏策划52.3基于Android SDK2.2的开发技术52.4Android中的文件存储及轻量级数据库SQLite的存储技术62.5 开发环境的搭建63系统分析73.1 系统基本功能描述73.2 可行性分析73.3 系统需求分析83.3.1 业务流程分析83.3.1.1 推箱子游戏的主用例分析83.3.1.1.1推箱子游戏主用例图83.3.1.1.1推箱子游戏主用例图83.3.1.1.1推箱子游戏主用例图183.3.1.1.2推箱子游戏的主用例描述83.3.1.2推箱子游戏的菜单管理子系统用例分析93.3.1.2.1 推箱子游戏菜单管理子系统用例图93.3.1.2.2 推箱子游戏菜单管理子系统用例描述103.3.1.3推箱子游戏的游戏过程子系统用例分析123.3.1.3.1推箱子游戏的游戏过程子系统用例图123.3.1.3.2推箱子游戏的游戏过程子系统用例描述124系统设计144.1 数据库设计144.1.1 概念结构设计144.1.3 Menu菜单界面144.1.2 逻辑结构设计144.2 系统模块设计154.3 系统算法设计174.4 系统类结构设计174.4.1游戏过程模块结构图174.4.2游戏音量控制模块类结构图184.4.3游戏规则模块类结构图194.4.4游戏规则模块类结构图194.4.5游戏规则模块类结构图205 系统实现225.1 实现概况225.2 游戏地图模块的实现225.2.1游戏地图模块存储结构的实现225.2.2游戏地图模块采用2D模拟3D实现2.5D(斜视角)视觉效果245.3 角色动画效果模块的实现255.4箱子移动控制模块的实现285.5 其他模块简介315.6 系统界面设计315.6.1 Menu菜单界面315.6.2 游戏过程模块界面315.6.3 音量设置模块界面335.6.4 最高游戏记录查看模块界面345.6.5 关卡设置模块界面345.6.6游戏规则查看模块界面355.6.7 音效选择模块界面36结论37参考文献38致谢391 引言1.1 开发背景Android是由Google为首的OHA(Open Handset Alliance)推出的一款开放的嵌入式操作系统平台,从2008推出的android SDK1.0到现在,Android SDK的最新版本已经升级到了2.3,最新3.0也已产生,Android正以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到Android应用程序的开发中,大有席卷整个手机产业的趋势。说到Android系统,Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。由于Android带有相当浓郁的Linux血统这也就意味着他拥有开源Linux的众多优点:安全、运算速度快、易于开发等等。正因为Android具有上述的优点,所以它在国内具有相当强劲的竞争优势。青年网络的主要负责人潘长华先生说到:Android作为一款十分优秀的移动开发平台十分适合国内的开发环境。尤其是中小企业开发团队低成本以及源代码的分享可以为企业节省大量资金,这对于中小企业来说无疑是最大的诱惑。青年网络推出的"星网睿话"就是国内成功的Android开发产品。同时一个资深的Android开发爱好者告诉记者:如果你是个人开发爱好者,那么Android就是Google为你量身打造的,放弃闭源的种种吧,开源才是王道,Android才是未来的主宰。伴随着Google Android操作系统的盛行,国内外的开发团队也逐渐的壮大起来了,基于Android SDK的系统开发,基于Android应用的开发等已逐渐倍受大家关注,而手机游戏开发历来是移动开发中分量最重的部分,面对如此火爆的Android市场自然也不甘示弱,由于Android的应用层开发是基于Java的开发,所以必有其可以快速移植J2ME开发的游戏的优势,但是移植的游戏必定也不能发挥Android操作系统独特的特性,所以目前基于Android游戏开发的市场还是不够成熟的,用户对游戏的需求量却在不断扩大中。1.2 开发目的和意义根据iResearch艾瑞市场咨询整理的国外数据显示,全球手机游戏市场的收入规模在2005年达到了102亿美元, 2008年达到520亿美元 。07年之后,手机游戏市场增速开始减缓,传统手机游戏逐渐显现颓势,市场增长主要由基于智能手机平台的游戏所带动。Android游戏进入智能手机游戏市场,必将打破原有格局,开辟手机游戏新纪元。图1-1 调查结果Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标用户量身定制。这是因为游戏玩家的核心需求是统一的,那就是:娱乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。因此,绝大多数种类的游戏都具备传染性与普适性,每一个售出的游戏都像一个火种,将会点燃周围潜在玩家的激情,激情的火焰迅速蔓延,最终吞噬整个需求市场,当然前提是开发的游戏是高质量的。此外,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的400多万Android用户不过是冰山一角,随着Android手机市场进一步壮大,游戏的市场容量将具备较大的增长空间,游戏开发者不会愁吃不饱,只会愁胃口不够大。面对如此潜在的游戏市场,为Android手机游戏用户量身定做一款兼具Android平台特色的手机游戏也实为意义深远。1.3 论文研究内容研究并开发一个基于Android的推箱子游戏,所做的主要工作在于:1、 基于Android SDK2.2的开发技术Android SDK包含了开发所应用的类库,用户要基于Android平台开发应用就应熟悉SDK的对外接口,其中开发Android游戏应用通常会用到如下一些类,Surfaceview类作为MVC中视图类的基类的开发框架是一般游戏开发比较常用的一种开发框架,使用此类时还需要对其进行创建、销毁,情况改变时的监听,这就还需要实现SurfaceHolder.Callback接口。其中Android游戏开发还需要通过Graphics类来显示2D图形,Graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)、2D几何图形等常用类,并且还涉及一些OpenGL图形程序接口方面的技术。2、2.5d的呈现技术所谓的2.5D,介乎于模真的3D与完全平面的2D之间。即模拟了3D的空间感,也兼具2D的灵动简单,是一种“优势”的综合体。就我个人认为,诚然2.5D最早的出现动机只是为了2D到3D间过渡。但就其应用而讲,好的2.5D图形即有3D的自由度与质感,又能利用2D图形将漫画式人物塑造得惟妙惟肖,使其拥有纯3D还无法做到的优势。因此2.5D在现在乃至未来的一段较长时间里还会和3D并存,直到3D图形的开发效率及表现形式能彻底取代2.5D为止。3、数据存储采用文件存储及轻量级数据库SQLite的存储技术Android的数据存储有4种方式,分别是Shared Preferences存储技术以“key-value paires” 格式的数据存储机制,Files存储技术通过FileInputStrean和FileOutputStream操作,Network技术通过网络来存储和获取数据。还有一种就是轻量级数据库SQLite,它是Android的标准数据库,支持SQL语句。SQLite数据库功能非常强大,使用起来也非常方便。4、系统的构建本系统采用MVC开发模式,使用SQLite数据库存储技术,基于Android SDK2.2开发平台,使用Eclipse+Android SDK2.2+DDMS+DroidDraw作为系统开发、调试的主要工具。2 Android推箱子系统的相关研究2.1MVC开发模式Android遵循MVC开发模式,所谓MVC也就是Model-View-Controller的首字母缩写,MVC开发模式把应用程序开发分成三个部分,Model即模型用于管理数据,View即视图用来制作用户界面,而Controller即控制器管理应用程序的逻辑。以下主要讲了Android中MVC的框架原理。从用户的角度出发,用户可以根据自己的需求,选择自己合适的浏览数据的方式。比如说,对于一篇在线文档,用户可以选择以HTML网页的方式阅读,也可以选择以pdf的方式阅读。从开发者的角度,MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在VS 2008开发工具中设计人员就可以直接通过Silverlight来开发界面,在Eclipes工具中开发Android采用了更加简单的方法,设计人员在DroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。Android中界面部分也采用了当前比较流行的MVC框架,在Android中M就是应用程序中二进制的数据,V就是用户的界面。Android的界面直接采用XML文件保存的,界面开发变的很方便。在Android中C也是很简单的,一个Activity可以有多个界面,只需要将视图的ID传递到setContentView(),就指定了以哪个视图模型显示数据。在Android SDK中的数据绑定,也都是采用了与MVC框架类似的方法来显示数据。在控制层上将数据按照视图模型的要求(也就是Android SDK中的Adapter)封装就可以直接在视图模型上显示了,从而实现了数据绑定。比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。图2-1:Android中的MVC框架结构图2.2 推箱子游戏策划游戏的策划主要包括游戏的情节、目标受众、运行的目标平台、采用的呈现技术、操作方式等几个方面。下面就针对本游戏对上述几个方面进行简单的介绍,如下所列。游戏情节,本游戏为轻量级的益智游戏,因此不存在很复杂的情节。这方面主要要做的工作主要为设计游戏各关仓库的形状、大小、可通过区域,以及各关中箱子的初始位置与目的地。 目标受众 ,这个游戏受众面比较广,应该是老少皆宜的。考虑到受众面广的原因,应该将操作方式设计得更加人性化,画面更加清新。 运行的目标平台,本游戏的目标平台为Android2.0及以上版本。采用的呈现技术,推箱子游戏一般采用的都是2D的呈现技术,本案例为了增强游戏的吸引力,采用2.5D呈现技术。2.5D呈现技术也有多种视角可供选择,本游戏采用45度视角。 操作方式,本游戏拟采用手机键盘进行操作,对于没有键盘的型号也可以考虑采用虚拟键盘。 2.3基于Android SDK2.2的开发技术主要技术就是运用Android SDK中的内置类库,来完成整个游戏的绘制与控制,其中主要用到的内置类有Surfaceview并实现SurfaceHolder.Callback接口以及Graphics中的Canvas(画布)、Paint(画笔)、Color(颜色),Bitmap(图像)、2D几何图形等常用类,并且还涉及一些OpenGL图形程序接口方面的技术。2.4Android中的文件存储及轻量级数据库SQLite的存储技术Android的数据存储有4种方式,分别是Shared Preferences存储技术以“key-value paire”格式的数据存储机制Files存储技术通过FileInputStrean和FileOutputStream操作,Network技术通过网络来存储和获取数据。还有一种就是轻量级数据库SQLite,它是Android的标准数据库,支持SQL语句。SQLite数据库功能非常强大,使用起来也非常方便。2.5 开发环境的搭建1)下载SDK下载安装器,网址2)运行Android SDK下载安装器SDK Setup.exe图2-2 SDK 下载器3) 配置和下载SDK,选择 Available Packages 然后选择你要安装的sdK包,最后按 Install Selected 按钮进行安装。图2-3 下载SDK其实一般启动SDK Setup,都会自动检查更新包,弹出类似如下界面。根据你的要求自行选择所需安装包,安装即可。其功能同上面(图2-3)图2-4更新(下载)SDK4) 当电脑不支持https连接,选择setting的将Force https:/. Sources to be fetched by using http:/. 的选项打勾。图2-5 https->http选项3系统需求分析3.1 系统基本功能描述推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力。游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置。这就要求玩家巧妙的运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。具体的功能如下: 1)游戏菜单界面,此界面主要提供用户功能选择。2)玩家定制功能,通过提供游戏难度选择,使玩家根据自己的情况选择不同的关卡进行游戏。 3)游戏数据存储,关卡采用文件存储,游戏成绩采用sqlite轻量级数据库存储。4)游戏背景音乐设置,主要实现让该游戏提供若干种背景音乐以供用户的选择。5)游戏帮助,还需要为本游戏添加帮助界面,简单介绍游戏的基本功能及玩法。3.2 可行性分析本系统的可行性分析包括以下几个方面的内容:1) 技术可行性SQLite数据库与Android SDK2.2技术的有机结合,可以很轻松地开发出推箱子游戏。因此技术上是可以实现的。2) 经济可行性随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发了出各种版本、各种类型的推箱子。这其中也包括很多手机版本的实现,伴随着手机与计算机的普及,很快推箱子游戏便进入了千家万户。因此,从经济上来说,开发推箱子游戏不需要很大的投入,硬件上只需普通的PC电脑一台,附加配置好模拟器的运行环境即可,有条件的话可以再配备Android2.2系统的真机一台,用于真机测试。3) 操作可行性由于Android可以和Eclipse配置开发环境,且实际开发环境为开源的,所以在操作上是可行的。综上所述,基于Android的推箱子系统在高校中是可行的。3.3 系统需求分析本游戏主要是设定在空间狭小的仓库中,要求小人把箱子摆放到指定位置。当小人将箱子推到指定位置时箱子变色,当小人碰到障碍物墙壁时小人将无法移动,当所有的箱子都被推到指定的位置时,游戏成功,因此这就要求玩家巧妙的运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。3.3.1 业务流程分析3.3.1.1 推箱子游戏的主用例分析推箱子游戏主用例主要分为一些菜单选项的设置和玩游戏的整个过程。3.3.1.1.1推箱子游戏主用例图如图3-1所示:图3-1 系主统用例图3.3.1.1.2推箱子游戏的主用例描述1、如上图3-1:用例1菜单管理用例描述:菜单管理执行者:玩家前置条件:android手机用户、安装有推箱子应用程序 后置条件:可以进行相关游戏选项的设置 基本路径:1)运行应用程序2)进入菜单界面3)进行相关游戏选项的设置或选择开始游戏2、如上图3-1:用例2玩游戏用例描述:玩游戏执行者:玩家前置条件:开始游戏后置条件:退出游戏或游戏成功基本路径1)运行应用程序2)进入菜单并选择游戏开始3)通过手机硬键盘控制小人移动从而将箱子移动到指定位置3.3.1.2推箱子游戏的菜单管理子系统用例分析玩家通过菜单管理子系统主要可以进行音量大小的设置,可以查看游戏的帮助文档,可以进行游戏关卡的选择,可以查看玩家的最高游戏记录并且还可以选择游戏背景音乐。3.3.1.2.1 推箱子游戏菜单管理子系统用例图如图3-2所示:图3-2菜单管理子系统用例图 3.3.1.2.2 推箱子游戏菜单管理子系统用例描述1、如上图3-2:用例1.1设置音量大小用例描述:设置音量大小执行者:玩家前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径:1)运行应用程序2)进入菜单界面3)触摸菜单界面的音量调节的按钮4)拖动音量调节的控件调节音量的大小2、如上图3-2:用例1.2查看游戏规则用例描述:查看游戏规则执行者:玩家前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径:1)运行应用程序2)进入菜单界面3)触摸菜单界面的查看游戏规则的按钮4)跳转到游戏规则的查看界面,玩家可以对照游戏规则开始游戏3、如上图3-2:用例1.3选择关卡用例描述:选择关卡执行者:玩家前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径:1)运行应用程序2)进入菜单界面3)触摸菜单界面的关卡选择按钮4)进入关卡选择的界面,关卡选择分为中、易、难三个级别的选项,其中第一关是相对简单的,第二关代表的的是难度中等的,第三关代表较有难度的关卡。玩家可以根据自己的能力水平选择自己适合的关卡。4、如上图3-2:用例1.4查看玩家最高游戏记录用例描述:查看玩家最高游戏记录执行者:玩家前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径:1)运行应用程序2)进入菜单界面3)触摸菜单界面的玩家最高记录查询按钮4)进入最高记录查询的界面,最高记录查询界面主要从数据库中获取玩家的最高游戏记录然后呈现在界面上。5、如上图3-2:用例1.5选择游戏背景音乐用例描述:选择游戏背景音乐执行者:玩家前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径:1)运行应用程序2)进入菜单界面3)点击手机硬键盘的menu按钮,调用menu菜单 4)点击音效选择的选项,进入游戏背景音乐设置的界面,游戏背景音乐设置分为关闭音效及四种背景音效的选择3.3.1.3推箱子游戏的游戏过程子系统用例分析推箱子游戏的游戏过程子系统用例主要分为开始游戏和退出游戏。3.3.1.3.1推箱子游戏的游戏过程子系统用例图如图3-3所示:图3-3 游戏过程子系统用例图3.3.1.3.2推箱子游戏的游戏过程子系统用例描述1、如上图3-3:用例2.1开始游戏用例描述:开始游戏执行者:玩家前置条件:进入开始游戏界面 后置条件:可以选择退出游戏或者保存玩家记录后继续游戏 基本路径:1)运行应用程序2)进入游戏主界面3)将箱子推到指定的位置后保存玩家记录继续玩下一关或者直接退出游戏2、如上图3-3:用例2.2退出游戏用例描述:退出游戏执行者:玩家前置条件:进入开始游戏界面 后置条件:无基本路径:1)运行应用程序2)进入游戏主界面3)点击手机硬键盘上的menu按键,调出menu菜单4)选择退出游戏的menu选项,游戏结束 4系统设计4.1 数据库设计4.1.1 概念结构设计推箱子游戏所涉及的主要实体及其属性有:1) 用户(用户编号,用户名,成绩)E-R模型如图4-1所示。图 4-1系统实体及其属性4.1.2 逻辑结构设计1.数据表总体设计根据以上的分析,将E-R模型转换成逻辑模型,设计出本系统数据库。根据需要,设计了一个数据表。如下所示:用户信息表:该表记录了用户的基本信息,包括用户编号、用户名、成绩2表结构根据上面的逻辑结构设计,设计相应的表结构如下表4-1所示。该表记录了用户的基本信息及用户成绩,包括用户编号、用户名、成绩表4-1 User字段名数据类型字段说明键引用备注IDintegerIDPK主键(自动增一)UsernameVarchar(50)用户名称scoreInt(11)用户成绩4.2 系统模块设计模块设计的主要方法是结构化方法,主导思想是以系统的逻辑功能设计和数据流关系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功能明确,易于修改,大小适中的模块结构。 本系统主要分为七个基本模块:游戏过程模块、游戏音量设置模块、游戏规则模块、游戏关卡设置模块、音效选择模块、玩家最高记录查询,保存记录退出模块,系统各模块功能图如图4-2所示。图4-2 系统功能模块图系统各模块功能说明:1音量设置模块此模块主要是调节系统背景音乐音量大小的模块,给用户增加用户体验。2游戏规则查看模块此模块主要给用户提供玩法指南的模块。3. 音效选择模块此模块主要给用户提供背景音效选择的模块,其中主要分为关闭音效及对其余3种音效的选择的模块。4. 玩家最高游戏记录查询模块此模块主要提供用户查看最高游戏记录,由于本游戏支持多用户,所以会把每个用户的最高游戏记录都呈现出来。5.游戏关卡设置模块此模块主要是给用户进行关卡的选择,本游戏中主要设置易、中、难三个级别的关卡选择。6、游戏过程控制模块此模块主要是控制游戏过程界面的绘制、键盘事件的监听、对监听事件的响应处理等,是整个游戏的核心功能模块。其中游戏过程模块又可以分为如下五个子模块如图4-3所示。图4-3 游戏过程模块子模块图对游戏过程模块的子模块描述如下:1)初始化模块。 该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于绘制整个初始画面,游戏每一关的初始化是构建每一关的关卡。2)画图模块。该模块主要是被其它模块调用,用于画墙、画箱子、在目的地画箱子、画小人和画目的地的模块。3)移动箱子模块该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。4)移动角色模块该模块用于控制小人移动,从而推动箱子到目的地的模块。5)键盘事件监听模块该模块主要通过对键盘事件,触摸事件的响应处理模块。4.3 系统算法设计本系统核心部分是游戏的控制过程,游戏画面事件监听与游戏画面的绘制过程。其整个游戏过程控制算法设计如下图4-4图4-4游戏过程控制算法设计4.4 系统类结构设计4.4.1游戏过程模块结构图游戏过程控制模块中GameView是游戏模块的核心类,它除了控制整个界面绘制外,还要响应用户的触屏或键盘操作信息,然后通过消息通信机制,将最新主控信息返回给公共类MainActivity,类结构图如下图4-5所示图4-5游戏过程模块结构图4.4.2游戏音量控制模块类结构图游戏音量设置模块中主要调节音量大小的类是SeekBarActivity,它通过AudioManager控制后台Service来实现音量的上调、下降的功能。其中与它相关的类有GameView类,调节好音量大小后可以直接通过MainActivity跳转到游戏界面。类结构如下图4-6所示。图4-6游戏音量控制模块类结构图4.4.3游戏规则模块类结构图游戏规则模块中主要提供游戏规则查看的类是GameRuleActivity,与它相关联的类是MainActivity类,MainActivity主要是控制整个页面跳转和消息处理的公共类。如图4-7所示。图4-7 游戏规则模块类结构图4.4.4游戏规则模块类结构图游戏关卡设置模块通过LevelSelectActivity响应游戏关卡的的设置,然后通过公共类MainActivity去读取相应的map关卡文件(地图文件主要存储在Android系统文件的Assets目录下)。类结构图如图4-8所示 图4-8游戏关卡设置类结构图4.4.5游戏规则模块类结构图游戏音效选择模块主要类是ActivityList类,核心类是后台服务MyService类,ActivityList类提供了一系列供选择的音效,通过用户的响应后,向公共类发出请求信息,公共类MainActivity接受到请求信息后向处于后台服务的音乐播放器提出服务请求,最后后台服务MySevice将响应处理结果返回给用户。类结构图如图4-9所示 图4-9游戏音效选择类结构图5 系统实现5.1 实现概况本系统可分为游戏过程控制模块、游戏音量设置模块、游戏规则模块、游戏关卡设置模块、音效选择模块、玩家最高记录查询,保存记录退出模块七个功能模块。游戏过程控制模块主要是对整个游戏进行控制的模块。游戏音量设置模块主要是调节背景音量大小的模块。游戏规则模块主要是提供游戏规则查看的模块。游戏音效选择模块供用户选择喜好的音效,增强用户体验,玩家最高游戏记录查询供用户查看游戏水平,保存记录退出模块主要是提供用户保存历史记录的功能。下面详细介绍各个游戏核心模块的实现。5.2 游戏地图模块的实现5.2.1游戏地图模块存储结构的实现游戏地图模块实现是整个游戏过程的核心,由于游戏的整个过程呈现三维立体的效果,所以游戏地图设置也是至关重要的一块,游戏地图整体是用二维数组存储在文件中的,每次打开游戏会初始化一次地图文件,游戏地图分为两层地板:底层地板分为三类情况,二维数组值1代表灰色地砖,二维数组值0代表米色地砖,二维数组值3代表目的地。(例第一关底层地图文件map1.txt存储数据为01010101010101010101010101310101013101010101010101010101010101010101010101011010131010101010101010101011101010)上层地板也分为三类情况,二维数组值1代表障碍物墙壁,二维数组值3代表箱子,二维数组值4代表小人。(例第一关上层地图文件map1.1.txt存储数据为11111111111100400000011030003000110000000001100010000011000030000110000000001100000000011000000000111111111111)具体地图文件在实现中的位置如下图assets文件夹:图5-1:地图文件存储结构关键代码如下:com.cslg.pushBox.util.GetMapFromFile.java类/* 从assets 文件夹中获取文件并读取数据 */public class GetMapFromFile public static final String ENCODING = "UTF-8" Activity mainActivity;public GetMapFromFile(Activity mainActivity)this.mainActivity=

    注意事项

    本文(基于Android推箱子游戏的设计与实现毕业论文.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开