基于Android扫雷游戏的设计与实现Word文档格式.docx
- 文档编号:18885890
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:21
- 大小:1.62MB
基于Android扫雷游戏的设计与实现Word文档格式.docx
《基于Android扫雷游戏的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Android扫雷游戏的设计与实现Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
2、论文能结合现在的实际社会需求选题,具有一定的实用性。
论文合格。
指导教师结论:
合格(合格、不合格)
指导教师
姓名
XX
所在单位
XXXXXXXX学院
指导时间
2015.9.30
本科毕业设计(论文)评阅教师评阅意见表
学生姓名:
XXXXXX学号:
评阅意见:
文献资料的掌握;
文献引用的规范性等.还须明确指出论文中存在的问题和不足之处。
)
论文设计实现了基于Android平台的扫雷游戏。
首先论述了Android系统的背景和研究现状、android的技术及对Android分析,并介绍了Android应用程序的结构。
在程序开发中,采用了先设计好游戏的类框架,然后按照各个类的实现进行代码的编写与实现功能。
所完成工作达到了我校本科毕业设计的要求,同意参加答辩。
修改意见:
(针对上面提出的问题和不足之处提出具体修改意见。
评阅成绩合格,并可不用修改直接参加答辩的不必填此意见。
毕业设计(论文)评阅成绩(百分制):
75
评阅结论:
同意答辩(同意答辩、不同意答辩、修改后答辩)
评阅人姓名
XXX
计算机学院
评阅时间
2015—10—11
论文原创性声明
本人郑重声明:
本人所呈交的本科毕业论文《基于Android扫雷游戏的设计与实现》,是本人在导师的指导下独立进行研究工作所取得的成果。
论文中引用他人的文献、资料均已明确注出,论文中的结论和结果为本人独立完成,不包含他人成果及使用过的材料.对论文的完成提供过帮助的有关人员已在文中说明并致以谢意。
本人所呈交的本科毕业论文没有违反学术道德和学术规范,没有侵权行为,并愿意承担由此而产生的法律责任和法律后果。
论文作者(签字):
日期:
2015年8月14日
摘要
随着技术通信不断进步,移动通信终端设备的功能也在不断地增长,朝着智能化的方向发展。
手机已经不再是个单一的通信设备,而是逐渐融合了个人信息管理,无线上网,移动办公,影音娱乐等功能,成为笔记本电脑之外的另一种更便携,更易用的办公平台.因此,手机的娱乐应用服务将会有很大的发展空间,游戏也是其中之一.本系统主要是实现基于Android平台的扫雷游戏,扫雷是一款古老的益智游戏,其设计目的是训练人的逻辑思维能力。
本文首先论述了Android系统的背景和研究现状,接着简要的介绍了android的技术及对Android分析,并且介绍了Android应用程序的结构。
在程序开发中,采用了先设计好游戏的类框架,然后按照各个类的实现进行代码的编写与实现功能。
关键词:
1、智能化2、Android3、扫雷
一、绪论
(一)Android概述
智能手机(Smartphone),具有独立的操作系统,像个人电脑一样支持用户自行安装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩充,同时可通过移动通讯网络来实现无线网络接入。
目前,全球多数手机厂商都有智能手机产品,而芬兰诺基亚、美国苹果、加拿大RIM(黑莓)、美国摩托罗拉、中国台湾宏达(htc)更是智能机中的佼佼者。
智能手机具有五大特点:
1。
具备了无线接入互联网的能力,即要有GSM的支持网络下的GPRS或者是CDMA网络支持下的CDMA1X或3G网络。
2。
人性化,可以根据个人需要扩展机器的功能。
3.它是具有开放性的操作系统,还可以安装非常多的应用程序,使得智能手机的功能可以得到无限的扩展。
4。
具有PDA功能,其中包括个人信息管理、日程记事、任务安排、多媒体应用、浏览网页。
5。
强大的功能,扩展性能强,第三方软件支持多。
在二零零五年七月,Google收购了Android,这么一个小规模收购行动还是立刻引起了移动业界的兴趣,它们怀疑这是Google进入移动市场的的标志。
尽管如此,这个当时只是一个小规模的移动软件开发公司正是由AndyRubin、RichMiner、NickSears以及ChrisWhite四个人共同创建的。
现在看来,他们的怀疑是正确的。
差不多两年半以后,在二零零七年十一月五日,Google发布了Android,它这个的发布给移动业界带来了一场可怕的风暴,,基于Linux的全新移动操作系统.这不单单是一个全新的移动系统,非常重要的是:
它是开源的。
从Android的发展旅途中,我们看到2003年Andy他是一个有远见的人,看到了2005年的起步和被Google的收购,也看到了系统的进步以及新的机型的快速发布.所有这一切都让我们相信,Android将会走向世界第一移动操作系统宝座的步伐是势不可挡的。
Android平板电脑也在今年的夏天开始发布以及GoogleTV发布以后(也许还有GoogleMusic?
),Android可能真的会将继续带着我们走向移动设备梦想的彼岸.
(二)系统开发背景
在我们的生活中有许多的游戏,但是游戏不同,它也会给玩家带来不同的感受和生活理念。
游戏是我们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发展。
游戏平台是经过从游戏机到电视游戏,然后从到pc游戏,到手机游戏,中间经历了很多的技术的更新和变革.但随着新技术的发展和我们生活水平质量的提高,手机开始逐渐变为普及,因为手机是非常小巧便捷的,而且方便的特性成为我们日常生活中必备通讯工具.而基于手机平台的游戏也就拥有的市场空间是巨大的,也因随着3g的开通和应用,手机游戏必然会迎来新的一轮游戏热潮!
扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。
久之后,“方块"
被改写成了游戏“Rlogic”。
在“Rlogic"
里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输.两年后,汤姆·
安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。
1981年,微软公司的罗伯特·
杜尔和卡特·
约翰逊两位工程师在Windows3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。
这款游戏的玩法是在一个9*9(初级),16*16(中级),16*30(高级),或自定义大小的方块矩阵中随机布置一定量的地雷(初级为10个,中级为40个,高级为99个)。
由玩家逐个翻开方块,以找出所有地雷为最终游戏目标。
如果玩家翻开的方块有地雷,则游戏结束。
扫雷游戏的目标是尽快找到雷区中的所有不是地雷的方块,而不许踩到地雷.点开的数字是几,则说明该数字旁边的8个位置中有几个雷,如果挖开的是地雷,则会输掉游戏.
扫雷游戏是一款益智类游戏,目前基于Android平台的扫雷游戏还比较少,本系统的开发主要面向Android平台,以满足广大手机用户的需要.
二、系统技术分析
(一)Eclipse集成开发环境
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
下图2—1是进入Eclipse里的界面:
图2—1进入Eclipse里的编辑界面
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse最初是由IBM公司开发的替代商业软件VisualAgeforJava的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(EclipseFoundation)管理。
2003年,Eclipse3.0选择OSGi服务平台规范为运行时架构。
2007年6月,稳定版3。
3发布。
2008年6月发布代号为Ganymede的3。
4版。
Eclipse的基础是富客户机平台(RichClientPlatform,即RCP)。
RCP包括下列组件:
核心平台(启动Eclipse,运行插件)
OSGi(标准集束框架)
SWT(可移植构件工具包)
JFace(文件缓冲,文本处理,文本编辑器)
Eclipse工作台(即Workbench,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards))
Eclipse采用的技术是IBM公司开发的(SWT),这是一种基于Java的窗口组件,类似Java本身提供的AWT和Swing窗口组件;
不过IBM声称SWT比其他Java窗口组件更有效率。
Eclipse的用户界面还使用了GUI中间层JFace,从而简化了基于SWT的应用程序的构建。
Eclipse的插件机制是轻型软件组件化架构.在富客户机平台上,Eclipse使用插件来提供所有的附加功能,例如支持Java以外的其他语言。
已有的分离的插件已经能够支持C/C++(CDT)、Perl、Ruby,Python、telnet和数据库开发。
插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言.
Eclipse的设计思想是:
一切皆插件。
Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。
Eclipse基本内核包括:
图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。
Eclipse由各种不同的计划组成。
以下列出了部分计划.
Eclipse计划:
本身包括Eclipse平台,Eclipse富客户端平台(RCP)和Java开发工具(JDT)。
Eclipse测试和性能工具平台(TPTP):
提供一个允许软件开发者构建诸如测试调试、概况分析、基准评测等测试和性能工具的平台。
EclipseWeb工具平台计划
(WTP):
用Java企业版Web应用程序开发工具来扩展Eclipse平台.它由以下部分组成:
HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD和WSDL的源代码编辑器;
XSD和WSDL的图形界面编辑器;
Java企业版的“项目性质”(projectnature)、建构器(builder)和模型(model),与一个Java企业版的导航(navigator);
一个Web服务(Webservice)向导和浏览器,还有一个WS—I测试工具;
最后是数据库访问查询的工具与模型。
Eclipse商业智能和报表工具计划(BIRT):
提供Web应用程序(特别是基于Java企业版的)的报表开发工具。
Eclipse可视化界面编辑器计划(VEP):
一个Eclipse下创建图形用户界面代码生成器的框架。
Eclipse建模框架(EMF):
依据使用XMI描述的建模规格,生成结构化数据模型的工具和其他应用程序的代码。
图形化编辑器框架(GEF):
能让开发者采用一个现成的应用程序模型来轻松地创建富图形化编辑器。
UML2:
Eclipse平台下的一个UML2.0元模型的实现,用以支持建模工具的开发.
AspectJ:
一种针对Java的面向侧面语言扩展。
Eclipse通讯框架(ECF):
专注于在Eclipse平台上创建通讯应用程序的工作。
Eclipse数据工具平台计划(DTP)
Eclipse设备驱动软件开发计划(DSDP)
C/C++开发工具计划(CDT):
努力为Eclipse平台提供一个全功能C和C++的集成开发环境(IDE),它使用GCC作为编译器。
Eclipse平台COBOL集成开发环境子计划(COBOL):
将构建一个Eclipse平台上的全功能COBOL集成开发环境。
并行工具平台(PTP):
将开发一个对并行计算机架构下的一组工具进行集成的平行工具平台,而且这个平台是可移植的,可伸缩的并基于标准的.
嵌入式富客户端平台(eRCP):
计划将Eclipse富客户端平台扩展到嵌入式设备上.这个平台主要是一个富客户端平台(RCP)组件子集的集合。
它能让桌面环境下的应用程序模型能够大致同样地能运用在嵌入式设备上。
(二)JDK
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。
JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。
JDK是学好Java的第一步。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多.从SUN的JDK5。
0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
JDK包含的基本组件包括:
javac–编译器,将源程序转成字节码
jar–打包工具,将相关的类文件打包成一个文件
javadoc–文档生成器,从源码注释中提取文档
jdb–debugger,查错工具
java–运行编译后的java程序(。
class后缀的)
appletviewer:
小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:
产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件.
Javap:
Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole:
Java进行系统调试和监控的工具
(三)AndroidSDK
SDK:
(softwaredevelopmentkit)软件开发工具包。
被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合.
因此,AndroidSDK指的既是Android专属的软件开发工具包。
其最震撼人心之处在于Android手机系统的开放性和服务免费.Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁.
(四)ADT
抽象数据类型(AbstractDataType)是指一个数学模型以及定义在该模型上的一组操作.
ADT包括数据数据元素,数据关系以及相关的操作.
即ADT
{
数据对象:
(数据元素集合)
数据关系:
(数据关系二元组结合)
基本操作:
(操作函数的罗列)
}
抽象数据类型(ADT)的一个实现包括储存数据元素的存储结构以及实现基本操作的算法。
在这个数据抽象思想中,数据类型的定义和它的实现是分开的,这在软件设计中是一个重要的概念。
这使得只研究和使用它的结构而不用考虑它的实现细节成为可能.
在面向对象编程语言中,像C++、Java都能较好的支持ADT,如类的机制。
而在C语言中缺少了对相关方法的支持。
抽象数据类型需要通过固有数据类型(高级编程语言中已实现的数据类型)来实现.抽象数据类型是与表示无关的数据类型,是一个数据模型及定义在该模型上的一组运算。
对一个抽象数据类型进行定义时,必须给出它的名字及各运算的运算符名,即函数名,并且规定这些函数的参数性质。
一旦定义了一个抽象数据类型及具体实现,程序设计中就可以像使用基本数据类型那样,十分方便地使用抽象数据类型.
三、Android应用程序结构剖析
(一)Android系统架构研究
Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。
由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。
Android体系结构如下所示:
图3-1Android体系结构
(二)Android的API
AndroidAPI主要包含了以下几个部分:
(1)AndroidManifest.xml
AndroidManifest.xml是系统的控制文件,它告诉系统如何处理所创建的所有应用组件(尤其是活动(Activity),服务(Service),意图接收器(IntentReceiver)和内容提供者(ContentProvider))。
举例来说,控制文件就是把活动和要接收的意图(Intents)连接在一起的“胶水"
.
(2)活动
活动就是一个有生命周期的对象。
一个活动就是完成某些工作的代码块,这部分工作还可能包括对用户UI界面的显示。
不过这不是必须的,有些活动从不显示UI界面.
(3)视图
视图可以将其自身绘制到屏幕上。
Android的用户界面由一系列的视图树构成。
接口都是由一组以树的形式出现的视图组成的。
开发者可以通过创建一个新的视图的方法来使用自定义的图形处理技术(比如开发游戏,或者是使用了不常用的用户图形窗口界面)。
(4)意图
意图是一个简单的消息对象,它表示程序想做某事的“意图”。
比如应用程序想要显示一个网页,那么它可以通过创建一个Intent实例并将其传递给系统来表示意图浏览这个URI.系统将定位到能处理这一Intent的代码(在当前情况下就是浏览器),并运行之。
意图也可以用于广播系统范围内的有效事件(例如通知事件)。
(5)服务
服务是运行在后台的一段代码。
它可以运行在它自己的进程,也可以运行在其他应用程序的进程里,这取决于自身的需要。
。
其它的组件可以绑定到一个服务上来,通过远程过程调用(RPC)来调用这个方法。
例如媒体播放器的服务,当用户退出媒体选择的界面时,仍然希望音乐依然可以继续播放,这时就可用服务来保证当用户界面关闭时音乐还继续播放着.
(6)通知
通知将以小图标的形式呈现在状态栏里,用户通过与图标的交互来接收消息。
最常见的通知包括短信息、通话记录和语音邮件,但是应用程序也可以创建它们自己的通知事件。
(7)内容提供者
内容提供者是用来提供对设备上数据进行访问。
典型的例子就是使用内容提供者来访问联系人列表.应用程序也可以使用其它程序通过内容提供者提供的数据,同时也可以定义自己的内容提供者来向其它应用提供数据访问服务。
(三)Android应用程序结构解析
通常由以下四个组件来构建一个完整的Android应用程序.
①活动
②意图接收器
③服务
④内容提供者
然而,并不是所有的Android应用程序都必须具备上面的四个组件,可以由上面的一个或几个来组建。
当决定使用以上哪些组件来构建Android应用程序时,需要将它们注册在AndroidManifest。
xml文件中,这是一个XML配置文件,在这个文件中可以声明应用程序组件以及它们的特性和要求。
这个配置文件是每个Android应用程序所必需的。
1、活动
活动是以上四个组件中最常用的一个。
每个活动都是Activity的子类,并实现了一些独有的功能,如管理UI显示和UI的反馈事件。
一个活动就相当于应用程序的一个用户界面,由事件响应以及视图等组成。
大多数的应用程序通常包括多个界面。
例如:
一个文本聊天应用程序,至少应该包含一个联系人列表界面、一个聊天界面、一个设置界面、一个聊天记录查询界面等等。
每个界面其实都可看作是一个活动。
显示一个新界面就相当于生成一个对应的活动对象。
在一些情况下,活动能够返回给它的上级界面一个返回值,例如一个提供给用户选择照片的活动可以返回给它的调用者用户选择了哪个照片文件。
当一个新的活动出现时,前一个活动被中断并被放入到一个历史堆栈中。
用户可以使用返回键使前一个活动重现。
当一个活动不再需要时,可以将它们从历史堆栈中移除.默认情况下,Android会为每个应用程序保留从主界面开始的历史堆栈。
Android通过一个被称作意图的特殊类,来实现界面与界面之间的跳转.一个意图描述了一个应用程序想要做什么.在意图的描述结构中,含有两个重要的数据结构:
动作和动作对应的数据。
典型的动作类型包括MAIN、VIEW、PICK、EDIT等等,而动作对应的数据则以URI的形式表示。
显示一个联系人信息的界面,可以创建一个意图,并将它的动作设置成VIEW,数据设置成表示这个人信息的URI.
除此之外,还有一个被称作意图过滤器(IntentFiher)的相关类。
当发生一个有效的目的请求时,意图过滤器用来描述一个活动能够处理什么意图。
如上例中所描述,想要正常显示一个联系人信息的界面,必须声明一个意图过滤器,它说明当有联系人数据要被在界面上显示时,知道如何处理它们。
通常意图过滤器要被注册在AndroidManifest.xml文件中。
从一个界面跳转到另一个界面是由解析各种意图实现的。
例如:
一个活动使用startActivity(myIntent)来调用其他活动时,系统会查找所有已经安装的应用程序的意图过滤器,并从中挑选出能够匹配myIntent意图的活动。
随后,这个新的活动接收到意图(myIntent)的通知并开始运行。
当startActivity方法被调用,解析意图的处理过程随之发生,这个机制有以下两个突出的优点:
活动可以通过一个以意图形式产生的请求来重用其他组件的功能.
活动可以在任何时候被一个具有等价意图过滤器的新活动所替代。
2、意图接收器
当想要编写代码来对外部事件做一些处理时,可以使用意图接收器。
意图接收器并不显示UI界面,它是通过NotificationManager来通知用户他们感兴趣的事件发生了。
意图接收器同样可以被注册在AndroidManifest.xml文件中,同时也可以在代码中使用Context.registerReceiver()来注册自己的意图接收器.当一个意图接收器被触发时,系统会根据需要来启动应用程序.
3、服务
服务是具有长生命周期并且没有用户界面的代码。
4、内容提供者
在Android中,每个应用程序都是有自己的userID及在自己的进程中执行。
这样做的好处是,可以保护系统及应用程序,避免被其他不正常的应用程序所影响。
可以把每个进程想像成是一个黑盒子,彼此不会互相影响,连内存的资料都无法共享.如果应用程序之间想要共享数据,就需要使用用内容提供者。
一个内容提供者就是一个类,它实现了一个标准的方法集合。
其他的应用程序可以使用这些方法来保存和检索此内容提供者处理过的数据。
(四)Intent的详细解析
在一个Android应用中,主要是由四种组件组成的,这四种组件可参考上一节的内容。
而这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 扫雷 游戏 设计 实现