【Android源码 栏目提醒】:网学会员,鉴于大家对Android源码 十分关注,论文会员在此为大家搜集整理了“基于Android 益智拼图游戏设计(附源代码) - 毕业设计”一文,供大家参考学习!
毕 业 论 文设计论文题目: 基于
Android 益智拼图游戏设计学生学院: 信息技术学院 专 业: 计算机科学与技术班 级:08 计算机科学与技术2 学 号:提交日期: 2012 年 04 月 27 日 答辩日期: 2012 年 05 月 12 日金陵科技学院学士学位论文 目录 目 录摘 要 ........................................................ IIIAbstract ...................................................... IV1 绪 论 ........................................................ 1 1.1 课题开发的背景 .......................................... 1 1.2 课题意义 ................................................ 12
Android 架构与开发平台搭建 .................................... 2 2.1
Android 的系统架构 ....................................... 2 2.2 Window 下
Android 开发环境的搭建 .......................... 43 流程介绍与概要设计 ........................................... 5 3.1 游戏流程介绍 ............................................ 5 3.2 系统概要设计 ............................................ 6 3.2.1 界面布局模块 ...................................... 6 3.2.2 难度选择模块 ...................................... 6 3.2.3 图片选择模块 ...................................... 7 3.2.4 步数和时间模块 .................................... 7 3.2.5 游戏实现模块 ...................................... 74 系统详细设计与实现 ........................................... 8 4.1 界面布局实现 ............................................ 8 4.1.1 选择界面布局 ...................................... 8 4.1.2 游戏界面布局 ...................................... 9 4.2 游戏功能实现 ........................................... 11 4.2.1 难度选择 ......................................... 11 4.2.2 图片选择 ......................................... 12 4.2.3 步数和时间设置 ................................... 13 4.2.4 拼图的实现 ....................................... 145 系统测试 .................................................... 17 5.1
Android 仿真器介绍 ..................................... 17 I金陵科技学院学士学位论文 目录 5.2 功能模块测试 .......................................... 17 5.3 出现的错误及解决方案 .................................. 206 总结与展望 .................................................. 21参考文献 ...................................................... 22附 录 ......................................................... 23致 谢 ......................................................... 33 II金陵科技学院学士学位论文 摘要 基于
Android 益智拼图游戏设计 摘 要 随着移动设备的日益普及,使用
Android 技术开发手机软件受到越来越多人的青睐。
在此背景下,本课题开发了一款
Android 平台下的手机游戏——益智拼图。
本文首先对
Android 的研究背景系统架构以及开发环境进行介绍,然后就玩家对游戏的需求进行一定的分析,最后运用
Android 技术实现拼图游戏的开发,并合理布局游戏界面,使游戏界面更加美观和人性化,实现了游戏的基本功能,最终可以让玩家享受拼图游戏的乐趣。
关键词:
Android;拼图游戏;Activity;架构 III金陵科技学院学士学位论文 Abstract The development and features of
Android AbstractKey words:
Android;Jigsaw puzzle game;Activity;sturcture IV金陵科技学院学士学位论文 第 1 章 绪论 1 绪 论1.1 课题开发的背景 随着嵌入式技术的发展,手持终端设备也迅速发展起来,目前,全球手机用户数已超过了PC机用户数,其中智能手机的比例越来越高。
智能手机是指像电脑一样可以通过下载、安装软件来拓展基本功能的手机,一般具有智能手机操作系统。
相较于非智能手机,它功能更强,处理速度更快。
基于Linux的
Android手机操作系统,由于具有开源、免费的特性,迅速得到广大爱好者及厂商的支持。
目前,移动应用软件中的手机游戏开发是一项非常热门的技术。
Android系统对第三方软件是开放的,这促进了第三方软件的发展。
Android系统以Linux2.6为核心,其安全机制比较完善,增强了手机使用的安全性。
Android平台已经形成由Google牵头,OHA组织参与,系统支持商和服务供应商完善搭配的运作机制,为
Android平台的快速发展提供了坚实的基础。
由于
Android构建在开源代码的框架之上,并且提供了强大的SDK库和开放的理念,所以它为广大的没有任何移动应用程序开发经验的新手开辟了一条开发完美移动应用程序的康庄大道。
而富有经验的移动开发人员现在也可以方便地扩展到
Android平台上来,利用它独特的功能来改进现有产品或者开发其他新颖产品。
1.2 课题意义
Android 软件在一两年的时间内已经迅速发展,在各类型应用系统中都有令用户满意的成果,本课题研究的就是基于此背景下
Android 手机的一款益智拼图游戏。
通过该游戏的设计,将自己学到的 Java,
Android 方面的理论知识应用于实践,提高自己的动手能力。
在设计的过程中,不断的修补知识方面的漏洞,加深自己对程序设计的理解,为将来从事软件开发事业打下基础。
1金陵科技学院学士学位论文 第 2 章
Android 架构与开发平台搭建 2
Android 架构与开发平台搭建2.1
Android 的系统架构
Android 的系统架构和其操作系统一样,采用了分层的架构。
从图 2.1 中可以看出,
Android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux 核心层。
图 2.1
Android 系统架构图 1 应用程序
Android 会同一系列核心应用程序包一起发布,该应用程序包包括 Email 客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。
所有的应用程序都是使用 JAVA语言编写的。
2 应用程序框架 开发人员也可以完全访问核心应用程序所使用的 API 框架。
该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可 。
同样,该应用程序重用机制以使用其所发布的功能块(不过得遵循框架的安全性限制)也使用户可以方便的替换程序组件。
2金陵科技学院学士学位论文 第 2 章
Android 架构与开发平台搭建 隐藏在每个应用后面的是一系列的服务和系统 其中包括; :可以用来构建应用程序,它包括列表(lists) 格 丰富而又可扩展的视图(Views) ,网 ,文本框(text boxes)(grids) ,甚至可嵌入的 web 浏览器。
,按钮(buttons) :使得应用程序可以访问另一个应用程序的数据(如 内容提供器(Content Providers) ,或者共享它们自己的数据。
联系人数据库) :提供非代码资源的访问,如本地字符串,图形,和 资源管理器(Resource Manager)布局文件(layout files)。
:使得应用程序可以在状态栏中显示自定义的提示 通知管理器(Notification Manager)信息。
活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能。
3 系统运行库 1 程序库
Android 包含一些 C/C库,这些库能被
Android 系统中不同的组件使用。
它们通过
Android 应用程序框架为开发者提供服务。
以下是一些核心库: 一个从 BSD 继承来的标准 C 系统函数库 系统 C 库: , (libc) 它是专门为基于 embeddedlinux 的设备定制的。
媒体库:基于 PacketVideo OpenCORE,该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。
编码格式包括 MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
Surface Manager:对显示子系统的管理,并且为多个应用程序提供了 2D 和 3D 图层的无缝融合。
LibWebCore:一个最新 web 浏览器引擎用,支持
Android 浏览器和一个可嵌入的 web视图。
SGL:底层的 2D 图形引擎。
3D libraries:基于 OpenGL ES 1.0 APIs 实现;该库可以使用硬件 3D 加速(如果可用)或者使用高度优化的 3D 软加速。
FreeType:位图(bitmap)和矢量(vector)字体显示。
SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2
Android 运行库
Android 包括了一个核心库,该核心库提供了 JAVA 编程语言核心库的大多数功能。
都拥有一个独立的 Dalvik 虚拟 机 每一个
Android 应用程序都在它自己的进程中运行,实例。
Dalvik 被设计成一个设备可以同时高效地运行多个虚拟系统。
Dalvik 虚拟机执行(.dex)的 Dalvik 可执行文件,该格式文件针对小内存使用做了优化。
同时虚拟机是基于寄存器的,所有的类都经由 JAVA 编译器编译,然后通过 SDK 的quotdxquot工具转化成.dex 格式 3金陵科技学院学士学位论文 第 2 章
Android 架构与开发平台搭建由虚拟机执行。
Dalvik 虚拟机依赖于 Linux 内核的一些功能,比如线程机制和底层内存管理机制。
4 Linux 内核
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理,网络协议栈和驱动模型。
Linux 内核也同时作为硬件和软件栈之间的抽象层。
2.2 Window 下
Android 开发环境的搭建 为了在 PC 主机上得到
Android 的开发环境,我们选择在 Windows 操作系统中进行对
Android 开发环境的搭建,具体步骤如下: (1)JDK安装 首先下载JDK,按照提示安装成功后,最重要的是进行环境变量的配置,步骤如下:我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: Java_HOME值为:C:Program FilesJavajdk1.6.0_20(安装JDK的目录) :. Java_HOMElibtools. CLASSPATH值为 ; jar;Java_HOMElibdt. jar;Java _HOMEbin; Path值:添加C:Program FilesJavajdk1.6.0_20bin; (2)Eclipse安装可下载一个绿色版的Eclipse,无需安装,和安装版一样都能为
Android开发提供功能。
(3)
Android SDK安装在
Android Developers下载
Android-sdk_r07-windows.zip,下载完成后解压到任意路径。
运行 SDK Manager.exe,出现如图以下界面,点击 Available Package。
选择希望安装的SDK 及其文档或者其它包,点击 Installation Selected、Accept All、Install Accepted,开始 下载安装所选包。
下载完成后出现如下图的所有
Android-sdk_r07-windows文件夹内容; (4)ADT安装 ADT实际上是一个工具,它可以连接sdk和Eclipse,帮助Eclipse找到sdk打开Eclipse界面,进入进入菜单中的“Help”-> “Install New Software”,点击Add按钮弹出对话框要求输入Name和Location,完成之后,选择Window >Preferences;在左边的面板选择
Android, 并 然后在右侧点击Browse; 选 中SDK路径,本机为; \YJSH\
Android\
Android D:-sdk_r07-windows;点击Apply、OK。
配置完成。
(5)创建AVD 为使
Android应用程序可以在模拟器上运行,必须创建AVD,步骤如下: 在 Eclipse 中,选择 Windows >
Android SDK and AVD Manager,点击左侧面板的 Virtual Devices,再右侧点击 New,填入 Name,选择 Target 的 API,SD Card 大小任意,Skin 随便选,Hardware 目前保持默认值,点击 CreateAVD 即可完成创建 AVD。
4金陵科技学院学士学位论文 第 3 章 流程介绍与概要设计 3 流程介绍与概要设计3.1 游戏流程介绍 根据拼图游戏的游戏规则,本设计拟出游戏的大致流程如图 3.1 所示: 点击“益智拼 图” 进入选择界面 已进入 点击下拉列表, 完成难度选择 点击图片框中的 一张图片 点击“确定” 进入游戏界面 已进入 点击play按钮, 未进入选择界面 时间开始计时 点击图块并拖动 未进入游戏界面 每拖一次,步数 加1 图片拼成原样, 游戏结束 游戏失败 图 3.1 拼图游戏流程图 5金陵科技学院学士学位论文 第 3 章 流程介绍与概要设计3.2 系统概要设计 本设计参考了拼图游戏流程图(图 3.1)按照自顶向下的设计方式将拼图游戏分为以下模块进行设计,如图 3.2 所示: 益智拼图游戏 界面布局模块 游戏功能模块 难度选择模块 图片选择模块 步数,时间设置模块 游戏实现模块 图 3.2 拼图游戏模块3.2.1 界面布局模块 由于本课题的题材是一款游戏,对于游戏的界面以及一些基本控件有必要介绍一下。
本系统一共有两个界面:一个选择界面,一个游戏界面,基本的控件有文本框,下拉列表,网格视图,按钮,图片视图等。
下面简单介绍下它们的作用: 文本框主要是用来显示一些文本,这些文本基本是描述文本框所在位置的功能。
下拉列表主要用在了难度选择部分,当玩家点击难度时,会出现下拉列表。
网格视图主要用于图片选择部分,利用网格视图将图片一一列出,供玩家选择图片进行游戏。
按钮是两个界面的链接枢纽,在第一个选择界面按下确定按钮,会跳转到游戏界面。
在游戏界面也设置了一个按钮,主要是给玩家提供“重新游戏”的机会。
图片视图只要用来显示图片,在游戏界面用图片视图显示图片,供玩家游戏。
3.2.2 难度选择模块 拼图游戏的难度在于图片被分割后的块数,数量越多,自然难度就越大。
(1)难度最小的是将其设置为 33 当难度设置为 33 时,系统将图片分割为 3 行 3 列,也就是将图片分成了 9 块。
(2)难度最大的是将其设置为 44 当难度设置为 44 时,系统将图片分割成 4 行 4 列,也就是将图片分成了 16 块。
(3)难度中等的设置有两种:34 和 43 当难度设置为 34 时,系统将图片分割成 3 行 4 列,即分成了 12 块。
6金陵科技学院学士学位论文 第 3 章 流程介绍与概要设计 当难度设置为 44 时,系统将图片分割成 4 行 3 列,同样分成了 12 块。
3.2.3 图片选择模块 图片选择步骤相当简单,只要在选择界面的图片选择区域,从 9 张图片中鼠标单击 1张玩家感兴趣的图片即可。
3.2.4 步数和时间模块 拼图游戏过程中,为了增加趣味性,玩家每移动一次图块,步数加一,知道游戏全部位置正确,游戏结束,统计最后步数;从游戏开始,时间模块开始计时,直到游戏结束,时间停止,并显示玩家完成游戏所花的时间。
3.2.5 游戏实现模块 在完成上述的图片选择,难度选择后就可以开始正式的拼图游戏。
玩家选择“play”后,图片会根据玩家选择的难度随机分解图片。
在本设计中,原图分割后右下角设置为空白块,为图块的移动提供可能。
玩家用鼠标点击与空白块相邻的图块,并将选中的图片往空白块拖动,这样就完成了空白块与选中图片的位置的互换。
这样子循环往复,知道全部图块位置正确,游戏就结束了。
7金陵科技学院学士学位论文 第 4 章 系统详细设计与实现 4 系统详细设计与实现4.1 界面布局实现 本设计有两个界面:选择界面和游戏界面。
界面的设计主要运用
Android 的绘图技术,图形的绘制通常是在 View 类中完成的,同时也会用到各种控件,如:TextView,Button,Spinner,GridView,ImageView。
当然说到控件,容器就不得不提了,两者是息息相关的。
本设计中用到了最常用的 LinearLayout 容器,控件的布局也用到了相对布局,绝对布局等。
4.1.1 选择界面布局 选择界面在 main.xml 文件中布局,界面效果如图 4.1.1 : 图 4.1.1 选择界面 该界面采用 LinearLayout 布局,在 LinearLayout 标签中完成界面设置。
布局设置:设置布局排列方式为竖直排列,宽和高的值为填满,背景颜色为黑色。
代码如下:
android:orientationquotverticalquot 8金陵科技学院学士学位论文 第 4 章 系统详细设计与实现
android:layout_widthquotfill_parentquot
android:layout_heightquotfill_parentquot 下面给出构成该界面的一些基本控件的设置代码: 设置文本框的高和宽根据内容调整,文本内容从 values 文件夹中的 strings.xml 文 件中读取,内容为“等级” :
android:layout_widthquotwrap_contentquot
android:layout_heightquotwrap_contentquot
android:textquotstring/levelquot stylequotstyle/font_20_white_boldquot/ 设置下拉列表的高和宽根据内容调整:
android:layout_widthquotwrap_contentquot
android:layout_heightquotwrap_contentquot 设置文本框高根据内容调整,宽为填满,文本内容取自 values 文件夹下 strings.xml 文件,内容为选择图片区:
android:layout_widthquotfill_parentquot
android:layout_heightquotwrap_contentquot
android:textquotstring/selectPictureAreaquot stylequotstyle/font_20_white_boldquot
android:backgroundquotcolor/slateGrayquot .