欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

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

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

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

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

    本本科科毕毕业业设设计计 (论论文文) 题 目 基于 Android 推箱子游戏的设计与实现 系(院) 计算机科学与工程学院 年 级 2008 专 业 软件工程 班 级 Y121073 学 号 Y12107323 学生姓名 孔静洁 指导教师 宋东兴 职 称 讲师 论文提交日期 2011-05-16 常熟理工学院毕业设计(论文)I I 基于 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.2 常熟理工学院毕业设计(论文)II II The Design and Implementation of the PushBox System Based on Android Abstract This 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 常熟理工学院毕业设计(论文)III III 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 tools Keywords: Android pushed box game. SDK2.2 MVC SQLite Android 常熟理工学院毕业设计(论文) I 目 录 1 1 引言引言 1 1 1.1 开发背景.1 1.2 开发目的和意义.2 1.3 论文研究内容.3 2 2 ANDROIDANDROID 推箱子系统的相关研究推箱子系统的相关研究4 4 2.1MVC 开发模式4 2.2 推箱子游戏策划.5 2.3 基于 ANDROID SDK2.2 的开发技术 .5 2.4ANDROID中的文件存储及轻量级数据库 SQLITE的存储技术 .6 2.5 开发环境的搭建.6 3 3 系统分析系统分析7 7 3.1 系统基本功能描述.7 3.2 可行性分析.7 3.3 系统需求分析.8 3.3.1 业务流程分析 8 3.3.1.1 推箱子游戏的主用例分析8 3.3.1.1.1 推箱子游戏主用例图.8 3.3.1.1.1 推箱子游戏主用例图.8 3.3.1.1.1 推箱子游戏主用例图 1 .8 3.3.1.1.2 推箱子游戏的主用例描述.8 3.3.1.2 推箱子游戏的菜单管理子系统用例分析.9 3.3.1.2.1 推箱子游戏菜单管理子系统用例图 9 3.3.1.2.2 推箱子游戏菜单管理子系统用例描述 .10 3.3.1.3 推箱子游戏的游戏过程子系统用例分析12 3.3.1.3.1 推箱子游戏的游戏过程子系统用例图12 常熟理工学院毕业设计(论文) II 3.3.1.3.2 推箱子游戏的游戏过程子系统用例描述12 4 4 系统设计系统设计1414 4.1 数据库设计14 4.1.1 概念结构设计 .14 4.1.3 Menu 菜单界面.14 4.1.2 逻辑结构设计 .14 4.2 系统模块设计15 4.3 系统算法设计17 4.4 系统类结构设计17 4.4.1 游戏过程模块结构图17 4.4.2 游戏音量控制模块类结构图18 4.4.3 游戏规则模块类结构图19 4.4.4 游戏规则模块类结构图19 4.4.5 游戏规则模块类结构图20 5 5 系统实现系统实现 2222 5.1 实现概况22 5.2 游戏地图模块的实现22 5.2.1 游戏地图模块存储结构的实现22 5.2.2 游戏地图模块采用 2D 模拟 3D 实现 2.5D(斜视角)视觉效果 .24 5.3 角色动画效果模块的实现25 5.4 箱子移动控制模块的实现28 5.5 其他模块简介31 5.6 系统界面设计31 5.6.1 Menu 菜单界面.31 5.6.2 游戏过程模块界面 .31 5.6.3 音量设置模块界面 .33 5.6.4 最高游戏记录查看模块界面 .34 5.6.5 关卡设置模块界面 .34 5.6.6 游戏规则查看模块界面35 常熟理工学院毕业设计(论文) III 5.6.7 音效选择模块界面 .36 结论结论 3737 参考文献参考文献 3838 致谢致谢 3939 常熟理工学院毕业设计(论文) 1 1 引言 1.11.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 游戏开发的市场还是不够成熟的,用户对游戏的需求量却在不断扩大 中。 常熟理工学院毕业设计(论文) 2 1.21.2 开发目的开发目的和意义和意义 根据 iResearch 艾瑞市场咨询整理的国外数据显示,全球手机游戏市场的收入规模 在 2005 年达到了 102 亿美元, 2008 年达到 520 亿美元 。07 年之后,手机游戏市场增 速开始减缓,传统手机游戏逐渐显现颓势,市场增长主要由基于智能手机平台的游戏所 带动。Android 游戏进入智能手机游戏市场,必将打破原有格局,开辟手机游戏新纪元。 图 1-1 调查结果 Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要针对目标 用户量身定制。这是因为游戏玩家的核心需求是统一的,那就是:娱乐与打发时间(乃至 更高层面的竞技需求和群体认同需求),这种需求附着于特定的社会发展阶段,不受地域 的限制,甚至于能够穿透文化壁垒。因此,绝大多数种类的游戏都具备传染性与普适性, 每一个售出的游戏都像一个火种,将会点燃周围潜在玩家的激情,激情的火焰迅速蔓延, 最终吞噬整个需求市场,当然前提是开发的游戏是高质量的。 此外,几乎每一个Android手机用户都是游戏的需求者,都是潜在的顾客,现今的400 多万Android用户不过是冰山一角,随着Android手机市场进一步壮大,游戏的市场容量 将具备较大的增长空间,游戏开发者不会愁吃不饱,只会愁胃口不够大。 面对如此潜在的游戏市场,为Android手机游戏用户量身定做一款兼具Android平台特 色的手机游戏也实为意义深远。 常熟理工学院毕业设计(论文) 3 1.31.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 作为系统开发、调试的主要工 具。 常熟理工学院毕业设计(论文) 4 2 Android 推箱子系统的相关研究 2.12.1MVCMVC 开发模式开发模式 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 中现实。 常熟理工学院毕业设计(论文) 5 图 2-1:Android 中的 MVC 框架结构图 2.22.2 推箱子游戏推箱子游戏策划策划 游戏的策划主要包括游戏的情节、目标受众、运行的目标平台、采用的呈现技术、操 作方式等几个方面。下面就针对本游戏对上述几个方面进行简单的介绍,如下所列。 游戏情节,本游戏为轻量级的益智游戏,因此不存在很复杂的情节。这方面主要要做 的工作主要为设计游戏各关仓库的形状、大小、可通过区域,以及各关中箱子的初始位 置与目的地。 目标受众 ,这个游戏受众面比较广,应该是老少皆宜的。考虑到受众面广的原因, 应该将操作方式设计得更加人性化,画面更加清新。 运行的目标平台,本游戏的目标平台为 Android2.0 及以上版本。 采用的呈现技术,推箱子游戏一般采用的都是 2D 的呈现技术,本案例为了增强游戏 的吸引力,采用 2.5D 呈现技术。2.5D 呈现技术也有多种视角可供选择,本游戏采用 45 度视角。 操作方式,本游戏拟采用手机键盘进行操作,对于没有键盘的型号也可以考虑采用虚 拟键盘。 Model:ContentProvider . View:XMLController:Activity 常熟理工学院毕业设计(论文) 6 2.32.3 基于基于 AndroidAndroid SDK2.2SDK2.2 的开发技术的开发技术 主要技术就是运用 Android SDK 中的内置类库,来完成整个游戏的绘制与控制,其中 主要用到的内置类有 Surfaceview 并实现 SurfaceHolder.Callback 接口以及 Graphics 中的 Canvas(画布)、Paint(画笔)、Color(颜色),Bitmap(图像)、2D 几何图形等常用类, 并且还涉及一些 OpenGL 图形程序接口方面的技术。 2.4Android2.4Android 中的文件存储及轻量级数据库中的文件存储及轻量级数据库 SQLiteSQLite 的存储技术的存储技术 Android 的数据存储有 4 种方式,分别是 Shared Preferences 存储技术以“key- value paire”格式的数据存储机制 Files 存储技术通过 FileInputStrean 和 FileOutputStream 操作,Network 技术通过网络来存储和获取数据。还有一种就是轻量 级数据库 SQLite,它是 Android 的标准数据库,支持 SQL 语句。SQLite 数据库功能非常 强大,使用起来也非常方便。 2.52.5 开发环境的搭建开发环境的搭建 1)下载 SDK 下载安装器,网址 http:/androidappdocs.appspot.com/sdk/index.html,选择 Windows 的平台的下载。 2)运行 Android SDK 下载安装器 SDK Setup.exe 常熟理工学院毕业设计(论文) 7 图 2-2 SDK 下载器 3)配置和下载 SDK,选择 Available Packages 然后选择你要安装的 sdK 包,最后按 Install Selected 按钮进行安装。 图 2-3 下载 SDK 其实一般启动 SDK Setup,都会自动检查更新包,弹出类似如下界面。根据你的要求 自行选择所需安装包,安装即可。其功能同上面(图 2-3) 常熟理工学院毕业设计(论文) 8 图 2-4 更新(下载)SDK 4)当电脑不支持 https 连接,选择 setting 的将 Force https:/. Sources to be fetched by using http:/. 的选项打勾。 图 2-5 https-http 选项 常熟理工学院毕业设计(论文) 9 3 系统需求分析 3.13.1 系统基本系统基本功能描述功能描述 推箱子是一款来自日本的古老游戏,其设计目的是训练人的逻辑思维能力。游戏场 景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置。这就要求玩家巧妙的 运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。 具体的功能如下: 1)游戏菜单界面,此界面主要提供用户功能选择。 2)玩家定制功能,通过提供游戏难度选择,使玩家根据自己的情况选择不同的关卡 进行游戏。 3)游戏数据存储,关卡采用文件存储,游戏成绩采用 sqlite 轻量级数据库存储。 4)游戏背景音乐设置,主要实现让该游戏提供若干种背景音乐以供用户的选择。 5)游戏帮助,还需要为本游戏添加帮助界面,简单介绍游戏的基本功能及玩法。 3.23.2 可行性分析可行性分析 本系统的可行性分析包括以下几个方面的内容: 1) 技术可行性 SQLite 数据库与 Android SDK2.2 技术的有机结合,可以很轻松地开发出推箱子游戏。 因此技术上是可以实现的。 2) 经济可行性 随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发了出各种版本、各 种类型的推箱子。这其中也包括很多手机版本的实现,伴随着手机与计算机的普及,很 快推箱子游戏便进入了千家万户。 因此,从经济上来说,开发推箱子游戏不需要很大的投入,硬件上只需普通的PC电 脑一台,附加配置好模拟器的运行环境即可,有条件的话可以再配备Android2.2系统的 真机一台,用于真机测试。 3) 操作可行性 由于Android可以和Eclipse配置开发环境,且实际开发环境为开源的,所以在操作 常熟理工学院毕业设计(论文) 10 上是可行的。 综上所述,基于Android的推箱子系统在高校中是可行的。 3.33.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)进行相关游戏选项的设置或选择开始游戏 玩家 1.菜单管理 2.玩游戏 常熟理工学院毕业设计(论文) 11 2、如上图 3-1:用例 2 玩游戏 用例描述:玩游戏 执行者:玩家 前置条件:开始游戏 后置条件:退出游戏或游戏成功 基本路径 1)运行应用程序 2)进入菜单并选择游戏开始 3)通过手机硬键盘控制小人移动从而将箱子移动到指定位置 3.3.1.2 推箱子游戏的菜单管理子系统用例分析 玩家通过菜单管理子系统主要可以进行音量大小的设置,可以查看游戏的帮助文档, 可以进行游戏关卡的选择,可以查看玩家的最高游戏记录并且还可以选择游戏背景音乐。 3.3.1.2.1 推箱子游戏菜单管理子系统用例图 如图 3-2 所示: 图 3-2 菜单管理子系统用例图 1.2查看游戏规则 1.3选择关卡 1.4查看玩家最高记录 1.5选择游戏背景音乐 1.1设置音量大小 常熟理工学院毕业设计(论文) 12 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 选择关卡 用例描述:选择关卡 执行者:玩家 前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径: 常熟理工学院毕业设计(论文) 13 1)运行应用程序 2)进入菜单界面 3)触摸菜单界面的关卡选择按钮 4)进入关卡选择的界面,关卡选择分为中、易、难三个级别的选项,其中第一关是相 对简单的,第二关代表的的是难度中等的,第三关代表较有难度的关卡。玩家可以根据 自己的能力水平选择自己适合的关卡。 4、如上图 3-2:用例 1.4 查看玩家最高游戏记录 用例描述:查看玩家最高游戏记录 执行者:玩家 前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径: 1)运行应用程序 2)进入菜单界面 3)触摸菜单界面的玩家最高记录查询按钮 4)进入最高记录查询的界面,最高记录查询界面主要从数据库中获取玩家的最高游戏 记录然后呈现在界面上。 5、如上图 3-2:用例 1.5 选择游戏背景音乐 用例描述:选择游戏背景音乐 执行者:玩家 前置条件:进入菜单界面 后置条件:返回菜单界面或开始游戏 基本路径: 1)运行应用程序 2)进入菜单界面 3)点击手机硬键盘的 menu 按钮,调用 menu 菜单 4)点击音效选择的选项,进入游戏背景音乐设置的界面,游戏背景音乐设置分为关闭 音效及四种背景音效的选择 常熟理工学院毕业设计(论文) 14 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 退出游戏 用例描述:退出游戏 执行者:玩家 前置条件:进入开始游戏界面 后置条件:无 玩家 2.1开始游戏 2.2退出游戏 2.1.1保存玩家记录 2.1.2选择进入下一关 常熟理工学院毕业设计(论文) 15 基本路径: 1)运行应用程序 2)进入游戏主界面 3)点击手机硬键盘上的 menu 按键,调出 menu 菜单 4)选择退出游戏的 menu 选项,游戏结束 常熟理工学院毕业设计(论文) 16 4 系统设计 4.14.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.24.2 系统模块设计系统模块设计 模块设计的主要方法是结构化方法,主导思想是以系统的逻辑功能设计和数据流关 用户编号用户名成绩 用户 常熟理工学院毕业设计(论文) 17 系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功能明确,易于 修改,大小适中的模块结构。 本系统主要分为七个基本模块:游戏过程模块、游戏音量 设置模块、游戏规则模块、游戏关卡设置模块、音效选择模块、玩家最高记录查询,保 存记录退出模块,系统各模块功能图如图 4-2 所示。 图 4-2 系统功能模块图 系统各模块功能说明: 1音量设置模块 此模块主要是调节系统背景音乐音量大小的模块,给用户增加用户体验。 2游戏规则查看模块 此模块主要给用户提供玩法指南的模块。 3. 音效选择模块 此模块主要给用户提供背景音效选择的模块,其中主要分为关闭音效及对其余 3 种 音效的选择的模块。 4. 玩家最高游戏记录查询模块 此模块主要提供用户查看最高游戏记录,由于本游戏支持多用户,所以会把每个用 户的最高游戏记录都呈现出来。 推 箱 子 游 戏 系 统 菜单管理模块 游戏过程控制模块 音量设置模块 游戏规则查看模块 音效选择模块 玩家最高游戏记录 查询模块 游戏关卡设置模块 游戏记录存储模块 常熟理工学院毕业设计(论文) 18 5.游戏关卡设置模块 此模块主要是给用户进行关卡的选择,本游戏中主要设置易、中、难三个级别的关 卡选择。 6、游戏过程控制模块 此模块主要是控制游戏过程界面的绘制、键盘事件的监听、对监听事件的响应处理 等,是整个游戏的核心功能模块。其中游戏过程模块又可以分为如下五个子模块如图 4-3 所示。 图 4-3 游戏过程模块子模块图 对游戏过程模块的子模块描述如下: 1)初始化模块。 该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于绘制整个初始画面, 游戏每一关的初始化是构建每一关的关卡。 2)画图模块。 该模块主要是被其它模块调用,用于画墙、画箱子、在目的地画箱子、画小人和画 目的地的模块。 3)移动箱子模块 该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。 4)移动角色模块 该模块用于控制小人移动,从而推动箱子到目的地的模块。 5)键盘事件监听模块 该模块主要通过对键盘事件,触摸事件的响应处理模块。 推箱子游戏 初 始 化 模 块 画 图 模 块 移 动 箱 子 模 块 移 动 小 人 模 块 键 盘 监 听 事 件 模 块 常熟理工学院毕业设计(论文) 19 4.34.3 系统算法设计系统算法设计 本系统核心部分是游戏的控制过程,游戏画面事件监听与游戏画面的绘制过程。其 整个游戏过程控制算法设计如下图 4-4 图 4-4 游戏过程控制算法设计 4.44.4 系统类结构设计系统类结构设计 4.4.1 游戏过程模块结构图 游戏过程控制模块中 GameView 是游戏模块的核心类,它除了控制整个界面绘制外, 还要响应用户的触屏或键盘操作信息,然后通过消息通信机制,将最新主控信息返回给 公共类 MainActivity,类结构图如下图 4-5 所示 绘制游戏界面 线程 游戏界面类 键盘事件监听 器 公共类 角色 角色换帧线程 角色移动控制 线程 箱子移动控制 线程 刷新 移动 换 帧 取 角 色 移 动 键盘监 听 取地图 取 地 图 Map文件 控制信 息 常熟理工学院毕业设计(论文) 20 +onDraw(in canvas) +onTouchEvent(in event) +rectDraw(in canvas, in x : int, in y : int, in ) +coordinateXChange(in x : int, in y : int) +coordinateYChange(in x : int, in y : int) +surfaceCreated(in holder) +surfaceDestroyed(in holder) -mainActivity : MainActivity -gameThread : GameThread GameView +run() +setFlag(in flag : Boolean) -gameView : GameView -surfaceHolder GameThread +run() +setFlag(in flag : Boolean) -mainActivity : MainActivity -gameView : GameView KeyThread +initBitmap() +initMan() +drawMyself(in canvas) -mainActivity : MainActivity Man +run() -mainActivity : MainActivity ManThread +onCreate(in saveInstanceState) +onCreateOptionsMenu(in item) +onOptionsItemSelected(in item) +initMenuView() +initGameView() +

    注意事项

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

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




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开