毕业论文基于android俄罗斯方块的开发和设计.doc

上传人:yyf 文档编号:3941967 上传时间:2019-10-10 格式:DOC 页数:36 大小:1.82MB
返回 下载 相关 举报
毕业论文基于android俄罗斯方块的开发和设计.doc_第1页
第1页 / 共36页
毕业论文基于android俄罗斯方块的开发和设计.doc_第2页
第2页 / 共36页
毕业论文基于android俄罗斯方块的开发和设计.doc_第3页
第3页 / 共36页
毕业论文基于android俄罗斯方块的开发和设计.doc_第4页
第4页 / 共36页
毕业论文基于android俄罗斯方块的开发和设计.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《毕业论文基于android俄罗斯方块的开发和设计.doc》由会员分享,可在线阅读,更多相关《毕业论文基于android俄罗斯方块的开发和设计.doc(36页珍藏版)》请在三一文库上搜索。

1、天津市大学软件学院软件工程专业 2013 届本科生毕业论文 1 天津市大学软件学院天津市大学软件学院 毕业论文毕业论文 基于基于 android 俄罗斯方块的开发和设计俄罗斯方块的开发和设计 姓姓 名名 李李 斌斌 专专 业业 软件工程软件工程 学学 号号 1150310607 学学 籍籍 校校 天津师范大学天津师范大学 学校指导教师学校指导教师 王晓晔王晓晔 职职 称称 副教授副教授 企业指导教师企业指导教师 唐泰彬唐泰彬 职职 称称 工程师工程师 2013 年年 6 月月 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 2 摘 要 3G 时代已经慢慢的融入了我们的日常生活,随着

2、国家的通信政策以及各大 运营商的宣传的影响,3G 手机已经随处可见,面对全球信息、技术空前高速发 展,信息高速化发展更是社会进步的一个标志。在全球信息化的今天,手机已 经成为人们日常生活中不可缺少的一部分,尤其是在电子产品日新月异的今天, 我们在平时随处可见的电子产品中,手机无疑是一个最大的用户集,而各大厂 商智能手机则依旧是电子市场的一颗耀眼的明星。其中的代表作有诺 Nokia 的 塞班系统,摩托罗拉的 Linux 系统,但是其中异军突起的仍然是 Google 的 Andriod 系统以其开放的源代码和方便简洁的操作必然是未来智能手机领域的 领头羊。这次毕业设计我们选择基于 Andriod

3、的手机游戏一定会使我们在以后 的工作中提供更多的机会。 。 随着新技术的不断开发与应用,近年来 Java 技术发展十分迅速,一个以 Java 应用为主的新技术革命浪潮正在蓬勃兴起。而基于 Andriod 的软件开发是 一个前景很大的技术,通过这次毕业设计,能使我们从对软件的设计中体会到 实际中软件开发的过程,提高我们的专业能力,最终能够获得很强的专业知识。 Android 是运用 java 编程语言编写的应用程序。然而,Java 编程语言不仅 仅用于编写 Web 上娇小可爱的娱乐性小应用程序。通用的、高级 Java 编程语言 也是一个功能强大的软件平台。使用丰富的 API,你可以写多种程序。因

4、此, Android 也具有 java 语言的特点。如果你已经学习过 java,你或许已经熟悉了 java 编程语言特点, 那么对于 Android 编程就会更容易掌握。 关键词:关键词:Android 手机游戏,Android 平台,Java 技术,游戏设计。 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 3 Abstract 3G era has gradually integrated into our daily life, with the countrys communication policy as well as the major carriers of se

5、nsitization to the effects of3G mobile phone, can be seen everywhere, in the face of the global information technology, an unprecedented rapid development, the information high speed development is a symbol of social advancement. In the global information technology today, mobile phone has become in

6、dispensable in the daily life of a part, especially in electronic products change rapidly today, we usually can be seen everywhere in the electronic products, mobile phone is undoubtedly one of the largest user sets, and major manufacturers of intelligent mobile phone will still be electronic market

7、 a dazzling star. The representative of Connaught Nokia Symbian, the Motorola Linux system, but which is still a new force suddenly rises. Google Andriod system for its open source code and convenient and simple operation is the future leader in the field of intelligent mobile phone. This time gradu

8、ate the design we choose based on the Andriod mobile phone games will make our work in the future to provide more opportunities. With the new technology development and application, in recent years the development of Java technology is very rapid, a Java application of tide of new technology revolut

9、ion is booming. Andriod based software development is a great prospect of technology, through this graduation design, can make us from on the software design of the actual software development process, improve our professional skills, can finally obtain strong professional knowledge. Key words: Andr

10、oid mobile phone games; the Android platform; Java technology;game design 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 4 前 言 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能 手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用 系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问 Web 网 站并处理各种各样的业务。因此,智能手机的应用软件及其需要的服务将有广 阔的发展前景。 在如今这个智能手机系统群雄纷争的时候,2008 年 Google 推出了一款名 为

11、 Android 的开源智能手机操作系统,它采用 Linux 内核,开放手机联盟(OHA) 成员可以任意使用和修改 SDK 包,系统的开源性使其具有良好的拓展性。这款 软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软 件。Android 的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环 境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功 能以及强大的浏览器。因此,对于软件从业人员来说,Android 平台具有无限的 吸引力。 游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有 的游戏都失去兴趣,恐怕世界的末日就要到了。电脑对游戏的贡

12、献有目共睹, 现在摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑 的。 俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成 的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏 联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。 俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢 上它的。现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。对一般用户 来说,它的规则简单,容易上手,且游戏过程变化无穷,而在“联众俄罗斯方块 “中,更有一些联众网络游戏所独有的魅力有单机作战与两人在线对战两种 模式,用

13、户可任选一种进行游戏。网络模式还增加了积分制,使用户既能感受 到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所,那手机上有 事什么样呢? 俄罗斯方块游戏可以说是随计算机的发展而发展,并不断推陈出新演变出 各种类似游戏, 深受广大玩家喜爱。这个游戏有的简单, 有的复杂, 但其根本 原理是一样的都是对运动的方块进行组合, 来训练玩家的反应能力。大多数人 都认为一般游戏软件都具有很高的技术难度, 随着开发工具及软件开发方法学 的不断发展, 至今的在Android手机上的游戏也是。 本文就在分析讨论 Android 手机软件开发技术原理的基础上,开发出能为用 天津市大学软件学院软件工程专业 2

14、013 届本科生毕业论文 5 户提供更好的基于 Android 平台的 3G 手机游戏俄罗斯方块儿的设计和开发。2 5 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 6 目 录 第一章绪 论.6 第二章需求分析.7 2.1 需求概括.7 2.2 目标.7 2.3 用户类型和特征.7 2.4 运行环境.7 2.5 环境搭建.7 第三章开发概述.12 3.1 背景概述.12 3.2 游戏简介.12 3.3 游戏设计流程.14 3.4 游戏操作方法.15 第四章游戏策划及准备工作 .19 4.1 游戏策划.19 4.2 游戏设计.19 4.3 呈现技术.19 4.4 目标平台.19 4

15、.5 操作方式.19 4.6 游戏开发平台.19 第五章游戏构架.21 5.1 游戏模块构成图.21 5.2 游戏概要设计图.22 5.3 各个功能模块图设计.23 第六章游戏中各个类中实现的功能26 第七章结 论.33 参考文献.34 致 谢.35 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 7 第一章绪 论 2007 年,Google 公司推出了 Android 手机操作系统,该系统是基于 Linux 平台的开源手机操作系统,并且该系统已经成为了新 3G 时代的主流移动智能 平台之一,根据调查,在中国基于 Android 操作系统的智能手机在中国智能手 机总销量中所占的比例

16、已经达到了 52%,越来越多的手机用户在接触安卓手机。 Android 是一种以 Linux 为基础的开放源代码操作系统,主要使用于便携设 备。目前尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安智” 。 Android 操作系统最初由 Andy Runbin 开发,最初主要支持手机。2005 年由 Google 收购注资,并组建开发手机联盟开发改良,逐渐扩展到平板电脑及其他 领域上。Android 的主要竞争对手是苹果手机的 ios 及 RIM 的 BlackBerry OS。2011 年第一季度,Android 在全球的市场份额首次超过塞班系统,跃居全 球第一。 2012 年 11

17、 月数据显示,Android 占据全球智能手机操作系统市场 76%的 份额,中国市场占有率为 90%。 移动互联网,就是将移动通信和互联网二者结合起来,成为一体。在最近 几年里,移动通信和互联网成为当今世界发展最快、市场潜力最大、前景最诱 人的两大业务,它们的增长速度都是任何预测家未曾预料到的,所以移动互联 网可以预见将会创造怎样的经济神话。 伴随着移动互联网的快速发展,智能手机的快速普及,传统的制质地图已 经不能满足现在市民的便利出行25。 运行在安卓系统平台的游戏,运行在安卓平台的游戏深受大家的喜爱。现 在,Android 游戏不但可以运行于智能手机,也可以运行在平板电脑上,俄罗斯 方块(

18、Tetris, 俄文:)是一款风靡全球的电视游戏机和掌上游 戏机游戏,它由俄罗斯人阿列克谢帕基特诺夫发明,故得此名。俄罗斯方块 的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的 一行或多行并且消除得分。由于上手简单、老少皆宜,从而家喻户晓,风靡世 界。因此,手机上玩这款游戏也是我们必须要做。 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 8 第二章需求分析 2.1需求概括 完成游戏在手机上功能要求。 2.2目标 该游戏简单容易上手,更有一定的益智性,可以锻炼你的记忆能力,也有 一定的娱乐性,其中不同游戏类型能让你感觉到这个游戏的多样性 2.3用户类型和特征 用

19、户主要是 16 岁至 45 岁的手机用户群,用户只需要操作手机界面就能够 进行游戏的操作。 2.4运行环境 2.4.1 硬件资源 装载了 Android 系统的智能手机。 2.4.2 软件资源 操作系统: Windows XP 或 Windows 7。 Android sdk JDK:jdk1.6。 Eclipse 2.5环境搭建 1.JDK 安装 如果你还没有 JDK 的话,可以去这里下载,接下来的工作就是安装提示一 步一步走。设置环境变量步骤如下: 我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量: 2.JAVA_HOME 值为: D:Program FilesJavajdk1.

20、6.0_18(你安装 JDK 的 目录) 3.CLASSPATH 值为: .;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;%JAVA_HOME%bin; 4.th: 在开始追加 %JAVA_HOME%bin; 5.NOTE:前面四步设置环境变量对搭建 Android 开发环境不是必须的,可 以跳过。 安装完成之后,可以在检查 JDK 是否安装成功。打开 cmd 窗口,输入 java 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 9 version 查看 JDK 的版本信息。如图 2-1 所示: 图 2-1 验证 JDK 安装是否成功

21、2.Eclipse 安装 如果你还么有 Eclipse 的话,可以去这里下载,下载如图 2-2 所示的 Eclipse IDE for Java Developers(92M)的 win 32bit 版: 图 2-2Eclipse 下载 解压之后即可使用。 3.Android SDK 安装 在 Android Developers 下载 android-sdk_r05-windows.zip,下载完成后解压 到任意路径。 运行 SDK Setup.exe,点击 Available Packages。如果没有出现可安装的包, 请点击 Settings,选中 Misc 中的“Force https

22、:/.“这项,再点击 Available Packages 。 选择希望安装的 SDK 及其文档或者其它包,点击 Installation Selected、Accept All、Install Accepted,开始下载安装所选包 在用户变量中新建 PATH 值为:Android SDK 中的 tools 绝对路径(本机为 D:AndroidDevelopandroid-sdk-windowstools) 。如图 2-3 所示: 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 10 图 2-3 设置 Android SDK 的环境变量 “确定”后,重新启动计算机。重启计算机以后,

23、进入 cmd 命令窗口,检 查 SDK 是不是安装成功。 运行 android h 如果有图 2-4 所示以下的输出,表明安装成功: 图 2-4 验证 Android SDK 是否安装成功 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 11 4.ADT 安装 打开 Eclipse IDE,进入菜单中的 “Help“ - “Install New Software“ 点击 Add.按钮,弹出对话框要求输入 Name 和 Location:Name 自己随便 取,Location 输入 http:/dl- 2-5 所示: 图 2-5 add site 框图 确定返回后,在 work

24、with 后的下拉列表中选择我们刚才添加的 ADT,我 们会看到下面出有 Developer Tools,展开它会有 Android DDMS 和 Android Development Tool,勾选他们。 如图 2-6 所示: 图 2-6 install 框图 然后就是按提示一步一步 next。 完成之后: 选择 Window Preferences. 在左边的面板选择 Android,然后在右侧点击 Browse.并选中 SDK 路径, 本机为: D:AndroidDevelopandroid-sdk-windows 点击 Apply、OK。配置完成。 5.创建 AVD 为使 Andro

25、id 应用程序可以在模拟器上运行,必须创建 AVD。 天津市大学软件学院软件工程专业 2013 届本科生毕业论文 12 1、在 Eclipse 中。选择 Windows Android SDK and AVD Manager 2、点击左侧面板的 Virtual Devices,再右侧点击 New 3、填入 Name,选择 Target 的 API,SD Card 大小任意,Skin 随便选, Hardware 目前保持默认值 4、点击 Create AVD 即可完成创建 AVD。1 天津市大学软件学院软件工程专业 2011 届本科生 13 第三章开发概述 3.1背景概述 俄罗斯方块是一款风靡全

26、球的电视游戏机和掌上游戏机游戏,它曾经造成 的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏 联的游戏制作人 Alex Pajitnov 制作的,它看似简单但却变化无穷,令人上瘾。 相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。 究其历史,俄罗斯方块最早还是出现在 PC 机上,而我国的用户都是通过红 白机了解、喜欢上它的。现在 Android 手机游戏的兴起又将重新掀起这股让人 沉迷的俄罗斯方块风潮。对一般用户来说,它的规则简单,容易上手,且游戏 过程变化无穷,而在“Android 俄罗斯方块“中,更有一些 Android 游戏所独有 的魅力更加方便简单

27、的操作模式,用户可在任意的地方任意时间进行游戏。 2 3.2游戏简介 原本是前苏联科学家阿列克谢帕基特诺夫所开发的教育用软件,之后开 始提供授权给各个游戏公司,造成各平台上软件大量发行的现象。 Game Boy 版的俄罗斯方块在日本卖出 424 万套,是 Game Boy 史上卖最好 的游戏。海湾战争时,也是前线美军最常拿消磨时间的游戏之一。 由于俄罗斯方块具有的数学性、动态性与知名度,也经常拿来作为游戏程 序设计的练习题材。 俄罗斯方块曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大 事,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷 得茶不思饭不想的那个俄罗斯方块时

28、代。 俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难 度却不低。作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何 一款游戏都无法相比的。 功能概述 1、一个用于摆放小型正方形的平面虚拟场地,其标准大小:行宽为 24, 列高为 25,以每个小正方形为单位。 2、一组由 4 个小型正方形组成的规则图形,英文称为 Tetromino,中文通 称为方块共有 7 种,分别以 S、Z、L、J、I、O、T 这 7 个字母的形状来命名。 I:一次最多消除四层 J(左右):最多消除三层,或消除二层 天津市大学软件学院软件工程专业 2011 届本科生 14 L:最多消除三层,或消除二层

29、 O:消除一至二层 S(左右):最多二层,容易造成孔洞 Z (左右):最多二层,容易造成孔洞 T:最多二层 (1)部分游戏有单格方块,可以穿透固定的方块到达最下层空位。其他的 改版中出现更多特别的造型。 方块会从区域上方开始缓慢继续落下。 (2)玩家可以做的操作有:以 90 度为单位旋转方块,以格子为单位左右 移动方块,让方块加速落下。 (3)方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在 该处,而新的方块出现在区域上方开始落下。 (4)当区域中某一列横向格子全部由方块填满,则该列会消失并成为玩家 的得分。同时删除的列数越多,得分指数上升。 (5)当固定的方块堆到区域最上方而无法

30、消除层数时,则游戏结束。 (6)一般来说,游戏还会提示下一个要落下的方块,熟练的玩家会计算到 下一个方块,评估现在要如何进行。由于游戏能不断进行下去对商业用游戏不 太理想,所以一般还会随着游戏的进行而加速提高难度。 3、通过设计者预先设置的随机发生器不断地输出单个方块到场地顶部,以 一定的规则进行移动、旋转、下落和摆放,锁定并填充到场地中。每次摆放如 果将场地的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并 且以此来换取一定的积分或者其他形式的奖励。而未被消除的方块会一直累积, 并对后来的方块摆放造成各种影响。 4、如果未被消除的方块堆放的高度超过场地所规定的最大高度(并不一定 是

31、 20 或者玩家所能见到的高度) ,则游戏结束。 具体到每一款不同的游戏,其中的细节规则都可能有千差万别,但是以上 的基本规则是相同的。 天津市大学软件学院软件工程专业 2011 届本科生 15 3.3游戏设计流程 初始化界面 图 3-1 游戏运行流程图 游戏模块游戏模块 1. 命名模块 完成有户名的注册。 2. 储存模块 完成游戏得存储和用户名的存储。由 TileStore 和 ResourceStore 来 存储游戏进程等;数据库来存储用户名和积分数值。 3. 功能模块 (1)游戏控制模块; 主要完成游戏的左、右、下的移动功能和上的变形功能; 由 TlieView 和 TetrisView

32、 类来实现代码功能: 变形的功能和方法: 完成游戏边界控制; (2).游戏显示模块; 开始 下落是否停止 能否出现下一个方块 组合 结束 初始化界面 随机显示方块 组 方块匀速下落 天津市大学软件学院软件工程专业 2011 届本科生 16 完成游戏界面的设计和布局; 完成游戏中模块的形状判断和显示; (3).游戏速度模块; 实现游戏关卡调整、设置游戏难度; (4).游戏积分模块; 实现游戏玩家的积分; 实现游戏中消除行时的游戏积分; 4.工具类模块; 实现积分的计算和关卡的计算。 3.4游戏操作方法 1、安装 apk 游戏安装包,在 Android 手机的资源管理其中找到并点击 Elos.ap

33、k 文件选择安装。 2、点击游戏图标进入游戏界面后按键盘的“MENU“按钮,在弹出的菜单中选 择“开始”来开始游戏(如图 3-3 所示)。 图 3-2 游戏用户界面 天津市大学软件学院软件工程专业 2011 届本科生 17 图 3-3 游戏功能界面 图 3-4 游戏开始界面 天津市大学软件学院软件工程专业 2011 届本科生 18 图 3-5 游戏结束界面 图 3-6 游戏玩家排行 天津市大学软件学院软件工程专业 2011 届本科生 19 图 3-7 游戏帮助 3、游戏玩家可以再游戏中采用点击“返回键”按钮来选择“关卡” 、 “退出” 、 “开始”以实现暂停、退出、重新开始功能(如图 3-3

34、示) 。 4、键盘操作操作:系统缺省设置使用触摸屏,用手指点击手机键盘左键一 次左移一格(长按则快速移动到最左边) ;点击手机右键一次右移一格(长按则 快速移动到最右边) ;点击手机向上按键方块本身旋转;点击手机向下的按键一 次向下移一格(长按则快速移动到最下边) 。 5、计分牌显示的内容: “分数” ”为本局游戏所得的分数,一次消一行 100 分、2 行 300 分、3 行 600 分、4 行 1000 分。 (如图 3-4 中的得分和消除行) “关卡”为本局游戏所在的关卡,所在的关卡越高,难度越大。 “时间”为本局游戏从开始到当前所用的时间。 天津市大学软件学院软件工程专业 2013 届本

35、科生 20 第四章游戏策划及准备工作 4.1 游戏策划 游戏的策划是指对游戏中主要功能的实现方案进行确定的过程,大型游戏 需要缜密的策划才可以开发。例如,呈现技术、目标平台等内容。 4.2 游戏设计 本游戏为经典俄罗斯方块游戏,每一次消除一层加 100 分、2 层 300 分、3 层 600 分、4 层 1000 分。游戏中的方块形状都是随机生成的(共 7 种) 。随着 难度的增加方块下落的默认速度会增加,游戏分数没有上限。 布局设计是一个 22 x 12 的方格组成。不同的方块儿有不同的颜色,格子 颜色是根据下落模块儿确定。有颜色是为 1,无颜色是 0。 4.3 呈现技术 本游戏采用的游戏背

36、景和其他图片都是用美图秀秀软件编辑的。编程采用 Android-sdk+java 技术。运用到了数据库的知识,MVC 模式。 4.4 目标平台 本游戏的目标平台为 Android1.5。 4.5 操作方式 游戏的操作方式手机键盘操作,游戏菜单的弹出是通过键盘来操作的。 4.6 游戏开发平台 本次开发采用 jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008 开发包、 eclipse-SDK-3.6.2-win32 开发工具、android-sdk-windows 开发包。 JDK(Java Development Kit)是 Sun Microsyst

37、ems 针对 Java 开发员的产品。 自从 Java 推出以来,JDK 已经成为使用最广泛的 Java SDK。JDK 是整个 Java 的核心,包括了 Java 运行环境,Java 工具和 Java 基础的类库。JDK 是学好 Java 的第一步。而专门行在 x86 平台的 Jrocket 在服务端运行效率也要比 Sun JDK 好很多。从 SUN 的 JDK5.0 开始,提供了泛型等非常实用的功能,其版本也 不断更新,运行效率得到了非常大的提高。 Eclipse(软件开发者包)是 Eclipse Platform、JDT 和 PDE 所生产的组件合 并,它们可以一次下载。这些部分在一起提

38、供了一个具有丰富特性的开发环境, 允许开发者有效地建造可以无缝集成到 Eclipse Platform 中的工具。Eclipse SDK 天津市大学软件学院软件工程专业 2013 届本科生 21 由 Eclipse 项目生产的工具和来自其它开放源代码的第三方软件组合而成。 Eclipse 项目生产的软件以 GPL 发布,第三方组件有各自自身的许可协议。 Android SDK(Google Android 专属的软件开发工具包) ,它是编写 Android 应用程序的基石。78 天津市大学软件学院软件工程专业 2013 届本科生 22 第五章游戏构架 5.1游戏模块构成图 前台表示模块主要用于

39、游戏画面的渲染。其中包括游戏界面和管理面版两 个模块,游戏界面主要为游戏中出现的界面,比如:开始界面和游戏中界面。 管理面板包括开始、退出、暂停三部分,主要为玩家提供控制游戏行进和退出。 (如图 2) 图 5-1 模块构成图 俄罗斯方块 用户模块游戏模块存储模块工具模块 游 戏 界 面 界 面 管 理 模 块 实 体 生 成 游 戏 积 分 储 存 关 卡 数 据 储 存 用 户 积 分 计 算 游 戏 积 分 计 算 天津市大学软件学院软件工程专业 2013 届本科生 23 图 5-2 游戏开发架构图 5.2游戏概要设计图 本游戏的设计采用 MVC 模式(Model -View -Contr

40、oller) ,即把本游戏 的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,这 样本游戏的设计被分成三个层模型层、视图层、控制层。MVC 模型图如下所 示: 图 5-3 MVC 模型图 天津市大学软件学院软件工程专业 2013 届本科生 24 图形工厂类 图形类 障碍物类 中央控制器 处理按键事件 处理逻辑 显示面板 显示 生产 图 5-3 系统流程结构设计 5.3各个功能模块图设计 图形工 厂 图形 障碍物 生产图形 下落产生障碍 物 图 5-5 模型层(Model)功能模块图设计 游戏面板 方块的显示障碍物的显示 图 5-6 视图层(View)功能模

41、块图设计 触发按键事件 天津市大学软件学院软件工程专业 2013 届本科生 25 中央控制器 图形工厂 生产图形 显示面板 显示图形 和障碍物 处理按键 和鼠标事 件 图 5-7 控制层(Controller)功能模块图设计 游戏实体模块主要用于后台游戏逻辑。本游戏中仅有方块实体模块一部分。 方块实体模块主要负责对已落下、正在落下和即将落下的方块图案的颜色和形 状进行控制,核对正在落下的方块图案的行进路线、形状变换进行控制。 通过图形工厂类 ShapeFactory 的 getShape(ShapeListener listener)方法随机产 生方块的某种状态,这里运用了工厂设计模式,这种设

42、计模式是为了实现高内 聚低耦合而存在的,这种设计模式的通俗解释就是:你想要一个产品,你需要让 工厂给你生产一个,你要告诉工厂你要生产什么产品,就把你需要生产的这个 产品当做参数传给工厂类的生产产品的方法,然后根据你传进来的产品,而决 定工厂人生产什么产品,产生出来产品后,最后要返回您要的这个东西。79 图 5-8 下落方块儿图的形状 定义一个 4x4 方阵,共 16 个小格。用“0”和“1”来表示每个方格是绘 制还是空白,由此可以组合出多种图形,如图所示: 随机产生一个数 随机数 一字型Z 字 型 反 Z7 字型反 7 字型倒 T 行 田字型 天津市大学软件学院软件工程专业 2013 届本科生

43、 26 图 5-9 图形模块是设计 其中图一表示为0,0,0,0, 1,1,1,1 , 0,0,0,0, 0,0,0,0 其中图二表示为0,0,0,0, 0,1,1,0 , 0,1,1,0, 0,0,0,0 其中图三表示为0,0,0,0, 0,1,0,0 , 0,1,1,1, 0,0,0,0 其中图四表示为0,0,0,0, 0,1,0,1 , 0,1,1,0, 0,0,1,0 方块的旋转是通过绘制 4 个方向的方块,在不同旋转角度显示不同方向的 方块来完成的。所以程序要控制方块的旋转方向,只要控制显示哪副图就可以 了。 本游戏是用一个三维数组 int store = new int;作为存储方

44、块的数据 结构来保存方块的 28 种状态的 数据存储模块包括游戏中关卡数据的存储和的分数据的存储。游戏每一次 启动都将全部删除上次启动时所产生的数据,重新进行新的数据存储。后台运 行时重新进入游戏不算做重启游戏,故数据不会重置。 工具类模块将自身的静态成员或者方法提供给游戏中的其他类使用。 天津市大学软件学院软件工程专业 2013 届本科生 27 第六章游戏中各个类中实现的功能 由于在本次游戏的开发中本人对代码的注释比较详尽,故对各个类所实现 的功能在代码中都有较详细的注释。 (1)游戏的左、右、下的移动功能和上的变形功能的实现; 由 TlieView 和 TetrisView 类来实现代码功

45、能的类: 右移功能实现 public boolean moveRightOnCourt(Court court) Log.i(“tetris“,“here is moveRightOnCourt“); for (int i = 0; i 0) tempShape-; else tempShape += 3; for (int i = 0; i = 2000 AcitivityRank 类实现用户排行榜统计; public class ActivityRank extends Activity private RankDatabase mDatabase = null; private List

46、View mListView = null; public void onCreate(Bundle saved) super.onCreate(saved); setTitle(“排行榜“); setContentView(R.layout.rank); init(); TileStore 类是各种图形通过数组形式存储的存储类。 public static int store = new int / I 0, 0, 0, 1 , 0, 0, 0, 1 , 0, 0, 0, 1 , 0, 0, 0, 1 天津市大学软件学院软件工程专业 2013 届本科生 33 DrawTool 是一个图形绘制

47、类;功能是实现图片的绘制。 public class DrawTool public static void paintImage(Canvas canvas,Bitmap bitmap,int x,int y) canvas.drawBitmap(bitmap,x,y,null); MusicPlayer 是音乐播放的实现类。 天津市大学软件学院软件工程专业 2013 届本科生 34 第七章结 论 面向对象设计方法以对象为基础,利用特定的软件工具直接完成从对象客 体的描述到软件结构之间的转换。这是面向对象设计方法最主要的特点和成就。 面向对象设计方法的应用解决了传统结构化开发方法中客观世界描

48、述工具与软 件结构的不一致性问题,缩短了开发周期,解决了从分析和设计到软件模块结 构之间多次转换映射的繁杂过程,是一种很有发展前途的系统开发方法。 经过数个月的努力,Android 平台俄罗斯方块的游戏的设计和开发工作的完 成。由于对 JAVA 浓厚的兴趣引发了我对 Android 的好奇心,从一开始什么都 不懂一直摸索着运用了很多高级技术完成了这个软件。 在这个过程中,我学会了很多知识,比如 Android 环境的搭建、 Intent、Activity、Service、ContentProvider、SQLite 等,但我学会的最重要的一 点是,利用现有的资源去解决问题,在图书馆、在网络上寻

49、找答案。 虽然,这个软件目前运行良好,但是我认为代码的健壮行还很差,在整个 工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一 解决。与此同时,这个软件还可以进一步扩展,例如“网上互动玩” 、 “网络排 行”等,是功能更加强大,带给用户更好的体验与生活的便捷。 通过此次 Android 游戏的开发,使得我们更加深刻地理解了面向对象的编 程思想,是我们对编成进一步的了解,有利于我们对面向对象的使用和编程结构 的深入理解。 但如果真的要从事游戏设计的工作,需要走的路还很长,即便是对于国际 知名的大公司,也是在不断的探索和实践中前进。但这并不表明前途就是渺茫 的,通过这次实践,进行了一次从底而上和自上而下的归纳和演绎的过程,在 变化多端的游戏面前,总算领悟了一点它的奥妙。内容繁复、采用的表现手段 多姿多彩的游戏世界,即便是再复杂

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


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