基于Android平台的五子棋游戏设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第1页
基于Android平台的五子棋游戏设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第2页
基于Android平台的五子棋游戏设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第3页
基于Android平台的五子棋游戏设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第4页
基于Android平台的五子棋游戏设计与开发(程序代码+任务书+说明书+外文翻译+演示文稿)_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Android的五子棋游戏设计与实现摘要现代科技的飞跃发展,3G智能手机为我们带来了很多便利,给我们提供了一个高效的平台,在社会各界得到越来越广泛的应用。因此,本文围绕一个“基于Android平台的五子棋游戏设计与开发”程序的设计和应用系统的开发课题为背景,详细介绍了在Android平台上以Java为语言编写游戏的过程。五子棋游戏的开发不仅是一个简单游戏的编写过程,更重要的是在系统分析和设计阶段所做的工作。该程序在设计过程中严格遵循软件工程学的方法,用分阶段的生命周期计划严格管理,并主要讲述了程序的总体设计、详细设计阶段,对程序进行需求迭代,不断修正和改进,利用SQlite、SharedPreferences等数据存储功能,直到形成一个完善的可行性系统.界面美观、大方,方便的操作与良好的视觉感应共同构成了“基于Android平台的五子棋游戏设计与开发”的设计。关键词:Android;Java;数据存储;软件工程;五子棋iBackgammongamedesignbasedonAndroidAbstractModerntechnologydevelopsrapidlyinoursociety.Itmakesourlivesmoreconvinientandprovidesanefficientplatformforus.Recently,the3GSmartphonebecomesmoreandmorepopular.Therefore,mythesiswilltalkabouttheprogressofthegameswhichisprogramedbytheJavalanguage.MypaperisbasedonthetasksontheprogramdesignandtheapplicationsystemwhichisbasedontheQuintetgamedesignanddevelopmentbuiltontheAndroid.ThedevelopmentoftheQuintetgameisnotjustaprogressofprograming.Whatsmore,weneedtopaymoreattentiontotheworkontheperiodofsystematicanalysisanddesign.Theprogramfollowsthesoftwareengineeringstrictlyandnarratesthemajordesignandsection.Thisprogrammailytalkabouttheperiodofthesystemdesignandthedetaileddesign.Andalsoitwillstudyonthebugfixingandimprovements.ByusingthesomefuctiongofdataloggingsuchastheSQlite,SharedPreferences,itbuildapracticablesystem.TheniceandexpertinterfaceandgoodvisualintroductionformthedesignwhichisbasedonthedesigninganddevelopmentofAndroidplatformQuintetgame.Keywords:Android;Java;Datastorage;softwareengineering;backgammonii目录摘要.iAbstract.ii1绪论.11.1课题研究的背景.11.2国内发展状况.11.3相关知识的介绍.21.3.1开发工具简介.21.3.2数据存储简介.31.4系统运行配置.31.5论文主要工作.32Android的系统研究.52.1Android的构架.52.1.1Android构架综述.52.1.2Android应用程序框架层.62.1.3Android应用程序层.72.1.4应用程序组件.72.2Android嵌入有米广告.83需求分析.103.1功能需求.103.2性能需求.103.3可行性研究.103.3.1经济可行性.103.3.2技术可行性.114概要设计.124.1系统功能结构及流程图.124.2数据存储设计.125详细设计.145.1主界面详细设计.145.2游戏开始模块详细设计.155.2.1背景音乐和音效、嵌入广告.155.2.2三大难度算法的设计及输赢的判断.155.3游戏说明模块详细设计.195.4最高纪录模块详细设计.195.5游戏设置模块详细设计.206游戏的实现.226.1背景音乐和音效的实现.226.2嵌入广告的实现.236.3三大难度的实现.236.3.1简单.236.3.2中等.246.3.3较难.25iii6.4游戏输赢判断的实现.26结论.28参考文献.29致谢.30外文文献.3101绪论1.1课题研究的背景随着计算机与网络技术的日益发达,同时也进入了高效的信息化时代,说起手机,没有一个人会感到陌生。近几年来一个名词一直影响着许许多多的手机用户,它就是智能手机。智能手机凭借其强大的功能吸引住了许多用户的眼球,因为有了广大的用户基础,智能手机也风靡一时。说起智能手机,除了他有一颗强大的CPU和其他一些较高配置的硬件外,其真正的智能还要归功于其不可缺少的智能操作系统。随着3G的到来,无线带宽越来越高,使得更多内容丰富的应用程序部署在手机上成为可能,比如视频通话、视频点播、移动互联网等。为了承载这些数据应用及快速部署,手机功能将越来越智能越来越开放。手机游戏也就应运而生,每个手机上都有手机游戏,游戏是人们娱乐的一种方式。Android平台下的手机游戏更是受顾客的亲睐,手机游戏不仅玩起来比较方便,还有助于开发我们的思维,使大家在娱乐的同时也增长了见识,拓展了思维。五子棋对自己的思维及协调能力有益,能使我们注意力集中,耐心也有明显的提升,培养我们的逻辑思维能力,对智力以及记忆力都很有帮助。1.2国内发展状况随着3G时代的到来,在这个新的研究领域中,我国在世界上处于较为领先的地位,我国电信业正处在高速发展的阶段,特别是新业务、新服务在打造品牌、创建市场的时期,对电信产业的结构调整必须充分的考虑成本。由我国自主研发并获政府支持的TD-SCDMA制式技术,在频谱利用率、对业务支持具有灵活性等独特优势。这种全称为TimeDivision-SynchronousCDMA(时分同步CDMA)的技术,其空中接口采用了四种多址技术:TDMA,CDMA,FDMA,SDMA(智能天线)。综合利用四种技术资源分配时在不同角度上的自由度,得到可以动态调整的最优资源分配。克服由覆盖半径随用户数目的增加而收缩造成的呼吸效应和当手机靠近基站功率必定过剩而且形成有害的电磁辐射所造成的远近效应,并且实现了动态信道分配。而分别由欧洲和美1韩所倡导的WCDMA和CDMA2000也各具优势。我过拥有庞大的手机用户群体,为游戏产业的发展奠定了良好的用户基础。手机游戏的真正生命力,是成为最终吸引用户的关键所在。通过色彩艳丽的画面或奇特的游戏名称来吸引用户。3G手机游戏开发周期相对比较短,资金投入小,用户广泛统一;载体方便,很容易在市场上推广;如需收费,也合理方便。游戏可以锻炼思维及协调能力,能使我们注意力和耐心有所提高,培养我们的逻辑思维能力,对智力以及记忆力都很有帮助。1.3相关知识的介绍本游戏采用当前很热的Android系统,以Java语言为基础的2D手机游戏。用户游戏界面通过手机终端来实现,较强的人际交互。这样就大大简化了用户的操作,该游戏为免费游戏,用户可以放心使用。此外,本系统采用了SharedPreferences作为应用程序的数据存储,用来存储简单的配置信息,简单快捷,占用系统资源少。背景音乐采用媒体播放功能实现,控制也比较方便。1.3.1开发工具简介本系统的开发环境是JDK1.6+MyEclipse8.5+AndroidSDK,使用的语言是Java语言。JDK(JavaDevelopmentKit)是SunMicrosystems公司为Java开发人员设计的产品。从Java诞生以来,JDK已经成为使用最广泛JavaSDK。JDK是整个Java的核心内容,包括了Java运行环境,Java工具和Java基础的类库三部分。从Sun的JDK1.5开始,提供了一些非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的Java集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,Spring,CSS,Javascript,SQL,Hibernate。AndroidSDK是软件开发工具包(softwaredevelopmentkit)。被软件开发工程师用2于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件工具的集合。因此AndroidSDK是Android专属的开发工具包。其授权协议为Apache,开发语言为Java、需要Android操作系统的支持。1.3.2数据存储简介SharedPreferences存储方式,它是Android提供的用来存储一些简单配置信息的一种机制,例如:登录用户名和密码。其采用了Map数据结构来存储数据,以键值的方式存储,可以简单的读取与写入。最高纪录则用此存储方式进行存储。SQlite存储方式,它是Android平台上集成的一个嵌入式关系型数据库。SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型虽然只有五种,但实际上sqlite3也接受varchar(n)、char(n)、decimal(p,s)等数据类型,只不过在运算或保存时会转成对应的五种数据类型。SQLite最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么。例如:可以在Integer字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。但有一种情况例外:定义为INTEGERPRIMARYKEY的字段只能存储64位整数,当向这种字段中保存除整数以外的数据时,将会产生错误。另外,SQLite在解析CREATETABLE语句时,会忽略CREATETABLE语句中跟在字段名后面的数据类型信息。1.4系统运行配置操作系统:Android2.1以上。开发包:JDK1.6、AndroidSDK。数据存储:SharedPreferences、SQlite。1.5论文主要工作此游戏主要是采用Android的View框架编写,部分框架运用Android中的其他组件。主要运用了算法来实现对棋局的分析,棋盘输赢的判定。UI方面:此游戏当进入游戏的界面时,调用的是一个用相对布局-AbsoluteLayout3的XML布局文件。其中包括了一个IamgeView和4个Button.分别实现了不同的功能。第一个Button是进入新游戏,点击按钮进入新游戏,来选择对手。第二个Button是帮助,用了一个TextView来说明怎样来进行游戏。第三个Button是游戏的关于,用了一个AlertDialog来介绍了一下游戏的这个游戏的好处。第四个Button是游戏的退出按钮。在游戏中,我用画线来不满了整个的手机屏幕,在上面用了TextView来进行了文字的说明和提示。本篇论文,主要目的是为了探讨更加深入的理解Android,为移动终端上的游戏软件的打造提供一个思路42Android的系统研究2.1Android的构架2.1.1Android构架综述Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。作为一个层次结构的软件集,一定有一个层次的系统构架,下图为Android的构架图:图2.1Android系统构架从图2.1中明显的可以看出该系统从下到上包括Linux内核层、Libraries和运行时环境层、应用程序框架层、应用程序层四层结构。在Android的最下层的操作系统基于Linux2.6内核,往上的中间件包括Libraries和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层。5在Android构架中,可以很明显的看到,底层的Linux内核则采用的是C语言,libraries采用C或者C+,但是应用程序层、应用程序框架层和运行时环境中的Android核心库采用Java语言编写,也就是说Android虽然底层用的是C或者C+但是应用程序的开发则用的是Java。Google采用这样的模式可能是因为相对于C或者C+,Java的开发周期更短的缘故,这样的话就能在短时间内为Android提供大量的应用软件。我们知道,作为一个智能手机平台,只有拥有了大量的源源不断的应用程序作为支持,才能受人们的欢迎,从而才能占领市场。之前Nokia的s60第三版就是一个很好的例子,因此NokiaS60v3的系统才被世人所熟知,并且曾经在智能手机行业占有很大的市场。而另一个例子就是Linux系统,在所有操作系统中,稳定性和性能上能够和Linux抗衡的系统不多吧,但是在智能手机市场上为什么Linux却可以说是一败涂地,其原因也和其第三方应用少是脱不了关系的。2.1.2Android应用程序框架层应用程序框架层是处于AndroidRuntime和库函数层于应用程序层之间,该层使用开发语言的是Java语言。应用程序框架是能够让开发者完全访问核心应用程序所使用的API(ApplicationProgrammingInterface,应用程序编程接口),该框架能够让组件软件重用的工做简单化。同时该框架中的任何一个功能模块都是等价的,任何一个应用程序都可以发布其功能模块,该功能模块可以替代当前的任意一个功能模块,但前提是必须遵循框架的安全限制,另外,其他的任意应用程序能够使用这个发布的功能模块。这样的设计就使Android的构件重用率提高了。在每一个应用程序背后,应用程序框架为其提供了一系列的服务。这些服务包括:一个丰富并且可扩展的视图,通过这个视图我们可以使用它提供的一些包括按钮、文本框、列表、网格等甚至可嵌入的web浏览器的应用程序来构造我们的应用程序。内容提供器(contentproviders),有了内容提供器,一个应用程序可以共享它自己的数据或者访问另外一个应用程序中共享的数据。资源管理器(resourcemanager),使用资源管理器,我们在应用程序中能够访问到一些如图形、布局文件等一些非代码资源。通知管理器(notificationmanager),给程序员提供了一个可以在程序状态栏中显示自定义提示信息的管理器。活动管理器(activitymanager),提供常用导航功能用来管理应用程序生命周期的服务。通过6这些应用程序框架层提供的服务程序员能够方便的开发一个界面优秀功能强大易于共享的的应用程序。2.1.3Android应用程序层应用程序层包括了如名片管理、Googlemaps、浏览器等本地应用程序(nativeapps),如QQ、MSN、QuickOffice等第三方应用程序(thirdpartapps),以及developerapps。同样,该层的应用程序也都使用Java语言进行开发的。2.1.4应用程序组件Android的一个主要特点是,一个应用程序可以利用其他应用程序的元素(假设这些应用程序允许的话)。例如,如果你的应用程序需要显示一个图像的滚动列表,且其他应用程序已经开发了一个合适的滚动条并可以提供给别的应用程序用,你可以调用这个滚动条来工作,而不用自己开发一个。你的应用程序不用并入其他应用程序的代码或链接到它。相反,当需求产生时它只是启动其他应用程序块。对于这个工作,当应用程序的任何部分被请求时,系统必须能够启动一个应用程序的进程,并实例化该部分的Java对象。因此,不像其他大多数系统的应用程序,Android应用程序没有一个单一的入口点(例如,没有main()函数)。相反,系统能够实例化和运行需要几个必要的组件。有四种类型的组件:活动(Activities)服务(Services)广播接收者(Broadcastreceivers)内容提供者(Contentproviders)然而,并不是所有的应用程序都必须包含上面的四个部分,你的应用程序可以由上面的一个或几个来组建。当你决定使用以上哪些组件来构建Android应用程序时,你应该将它们列在AndroidManifest.xml文件中,在这个文件中你可以声明应用程序组件以及它们的特性和要求。关于AndroidManifest.xml在Android开发之旅:HelloWorld项目的目录结构的1.6、AndroidManifest.xml简单介绍了一下,可以参考一下。72.2Android嵌入有米广告优蜜科技是业界领先的移动信息服务提供商,拥有国内领先的手机广告平台-有米广告,总部设在广州,并在北京、美国加州设有分公司。优蜜科技拥有国内顶尖的运营和研发团队,管理层汇集高盛、美林证券、百度等知名企业精英,公司自成立以来,一直全心专注于移动互联网研究,与中国移动、中国电信等知名企业的紧密合作,更是凸显了优蜜科技超越同行的非凡价值。“优蜜”的“优”体现我们“服务客户,用户第一,创造价值”的经营理念,“蜜”表示公司内部要像蜜蜂一样各尽其职,团结一致,为公司的发展和持续领跑不懈努力。优蜜科技拥有全国最大的手机应用广告平台有米传媒手机广告平台(以下简称有米广告)。有米广告拥有自主核心技术及完整知识产权,在用户特征识别、客户端防作弊、广告精准投放、广告智能投放等关键领域远远领先同业。有米广告以7亿手机用户为广告受众,不仅为数以万计的企业广告主提供精准的产品营销和品牌推广服务,还为应用开发者创造出源源不断的收益。截至2010年5月5日,有米广告的市场占有率超过98%。“有米”是国内领先的移动应用广告平台。该平台称是国内首家移动应用广告平台,话说也是,在国内基本上无线广告都是wap广告,即在wap网站上面投放广告。这种广告投放方式,在客户端上表现能力不强,除非像iPhone和android手机这个网络功能比较强悍的手机能做出比较炫的效果,其他手机平台基本上都是一条文字描述,然后点击就跳转到宣传页面或是下载页面。这种形式的广告,你用手机上网那是到处都可见到。话说也已经习惯了、免疫了。有米这个广告平台支持在android、Symbian、WindowsMobile和j2me这个四个手机系统的应用程序中嵌入广告,话说这个四个平台手机也覆盖了国内绝大部分的手机了吧,单纯是Symbian手机就占了60%多了。看来这个平台还真符合国情。不过Symbian大部分手机都是键盘机,不知这个点击广告它是如何处理的,毕竟不能单靠展示广告的费用吧,这个CPM太低了!看了它Symbiansdk文档中的示例图,好像还提供了一个快捷键来专门点击广告,看来有米广告还考虑得真全面。有米广告的广告可以根据应用程序类别、应用程序平台、投放广告地区、目标移动设备、性别、年龄段、屏幕分辨率、投放时间、每天最多投放次数进行投放广告,看来这个平台的精准营销策略做得不错!深思一下,有米广告可以解决这一问题,开发者可以在自己免费的软件嵌入广告,8这就是一个收入来源,同时,还能提高你继续开发下一个软件的动力,在这个过程中,也可以提高自己的编程技术、理解用户体验的重要性、也能培养自己的商业眼光。而在这提升的过程中,开发者根本不需要任何成本。至于用户,免费的软件中嵌入一些广告,开始是会比较厌烦,久而久之也就和在wap上投放广告一样习惯了、免疫了。我想,用户也能理解和体谅开发者的辛苦。你说,做程序员容易吗?整天加班、日日夜夜不停得编写程序。因此,也就有了“程序员是IT界的民工”之说。对于有米广告这种移动应用广告平台,我确实很看好,我也相信它是移动互联网领域的一大趋势。对于android、Symbian、WM、j2me这个四个手机平台的开发者都可以去试试这个平台。93需求分析3.1功能需求五子棋分为五个模块:开始游戏、游戏说明、最高纪录、游戏设置、退出游戏。1.开始游戏:.点击进入游戏。2.游戏说明:.五子棋游戏规则的说明及操作说明。3.最高纪录:.纪录不同难度获胜的最短时间,可清空。4.游戏设置:.音效设置:开启/关闭音效、背景音乐的开/关。.难度设置:简单,中等,较难。5.退出游戏:.退出游戏。3.2性能需求1硬件环境:PC2软件环境:WindowsXP、Android2.1以上3.3可行性研究3.3.1经济可行性该软件为免费软件,不收取任何费用。开发周期相对较短,能有效的利用开发人员。103.3.2技术可行性运用Android智能手机的平台,开发人员具有一定的Android知识,熟悉的算法基础。智能手机拥有扎实的硬件平台以及较好的操作系统;该游戏能在手机上正常运行;操作简单,方便,为游戏玩家提供了一个良好的游戏平台。114概要设计4.1系统功能结构及流程图根据系统功能的要求,可以将系统分解成几个功能模块来分别设计。系统结构如图4.1所示:Android五子棋开始游戏游戏说明最高纪录游戏设置退出游戏图4.1系统结构图4.2数据存储设计根据系统所做的需求分析和系统设计,SharedPreferences为最有效的存储方式。它用来存储一些简单配置信息的一种机制,比SQlite更高效。SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中重载窗口状态onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长整形、Int整形、String字符串型的保存,它是什么样的处理方式呢?SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问,android123提示最终是以xml方式来保存,整体效率来看不12是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml处理时Dalvik会通过自带底层的本地XMLParser解析,比如XMLpull方式,这样对于内存资源占用比较好。这种方式应该是用起来最简单的Android读写外部数据的方法了。他的用法基本上和J2SE(java.util.prefs.Preferences)中的用法一样,以一种简单、透明的方式来保存一些用户个性化设置的字体、颜色、位置等参数信息。一般的应用程序都会提供“设置”或者“首选项”的这样的界面,那么这些设置最后就可以通过Preferences来保存,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。当然,如果你愿意保存其他的东西,也没有什么限制。只是在性能上不知道会有什么问题。在Android系统中,这些信息以XML文件的形式保存在/data/data/PACKAGE_NAME/shared_prefs目录下。2个activity之间的数据传递除了可以通过intent来传递,还可以使用SharedPreferences来共享数据的方式SharedPreferences用法很简单.在A中设置Java代码Editorsharedata=getSharedPreferences(data,0).edit();sharedata.putString(item,hellogetSharedPreferences);mit();B中获取Java代码SharedPreferencessharedata=getSharedPreferences(data,0);Stringdata=sharedata.getString(item,null);Log.v(cola,data=+data);135详细设计系统详细设计是对每个模块功能的具体设计,包括界面、功能模块和设计要点等内容。5.1主界面详细设计游戏主界面如图5.1所示:图5.1游戏主界面点击开始游戏时,可直接进入游戏;游戏说明为相关的介绍以及游戏操作;最高纪录记录不同难度等级的最高成绩;游戏设置为设置游戏背景音乐、音效、以及难度;退出游戏为退出整个游戏。145.2游戏开始模块详细设计进入游戏后,按照操作可直接玩该五子棋游戏。图5.2是游戏界面的截图。图5.2游戏界面5.2.1背景音乐和音效、嵌入广告背景音乐和音效对一个游戏来说也是必不可少的。背景音乐开则进入游戏开始播放背景音乐,背景音乐关则相反。嵌入广告:广告在游戏中也是一个重要的决定因素,不仅仅可以提高自己的编程技术,还可以增加用户的体验、也能培养自己的商业眼光。5.2.2三大难度算法的设计及输赢的判断本设计中难度的设置是极为重要的阶段,不同难度的设置对玩家要求也各有不同。游戏流程如图5.3所示。15判断开始胜负庄家胜玩家胜庄家下棋玩家下棋YNYYNN结束开始图5.3游戏流程图三大难度的算法设计,算法的主体思想分三个步骤:第一步:根据双方的当前的形势循环地假设性的分别给自己和对方下一子(在某个范围内下子),并判断此棋子能带来的形势上的变化,如能不能冲4,能不能形成庄家或玩家双3等,第二步:根据上一步结果,组合每一步棋子所带来的所有结果(如某一步棋子可能形成我方1个活3,1个冲4等),包括庄家和玩家的。第三步:根据用户给的规则对上一步结果进行排序,并选子(有进攻形、防守形规则)。简单:简单难度的实现,庄家不防守,在离玩家最近下棋棋子最近的8个位置上16的空位上方随机下棋。中等:中等难度的实现,庄家只防守,少攻击。当玩家有“三活棋”以及“四冲”时,防守;否则选择自己最长连棋并且可下棋的空位下棋。流程图如图5.4所示:玩家活四防守进攻YNYYNN玩家四冲庄家活四庄家活三玩家活三庄家四冲YNY、YNY下棋N结束开始图5.4中等难度流程图较难:较难难度的实现,庄家有强烈的防守,有猛烈的攻击。双方都不可以制造活4棋,找双活3棋子,不行就找半活4,再不行就找单活3,双活2的攻守模式。流程图17如图5.5所示:玩家活四防守下棋YNYYNN玩家四冲玩家单活三制造活四玩家活三制造双活三YNY、YNYN制造四冲制造单活三制造双活二制造单活二NNNYYY开始结束图5.5较难难度流程图庄家与玩家的胜负判断:每走一步,调用判断方法。其思路为:首先有一个组的集合,就是横、竖、斜三个方向,每5格一组,这个可以根据宽高计算出来。循环这个集合。如果有同色连接5个,那么为胜同时将五格中已有4个同色并且剩余一格未操作的,放入一个集合内,若上一步没有结果,那么判断这个集合,如果有这个集合有两条以上,并且未操作格坐标不为同一个,那么同样为胜。185.3游戏说明模块详细设计游戏说明是游戏中不可或缺的部分,给玩家提供了简单的游戏玩法和明了的操作。图5.6是游戏说明界面截图。图5.6游戏说明5.4最高纪录模块详细设计最高纪录为纪录3个不同难度的最好成绩,也可清空最高纪录。图5.7是最高纪录截图,图5.8是清空最高纪录截图。19图5.7最高纪录截图图5.8清空最高纪录截图5.5游戏设置模块详细设计游戏设置模块分为背景音乐开/关、音效开/关、难度选择。图5.9是设置界面截图,图5.10是背景音乐开关截图,图5.11是音效开关截图,图5.12是难度选择截图。20图5.9设置界面截图图5.10背景音乐开关截图图5.11音效开关截图图5.12难度截图216游戏的实现6.1背景音乐和音效的实现背景音乐和音效的实现,先创建播放文件,然后通过准备,播放,停止的模式来播放背景音乐和音效。部分代码如下:player=MediaPlayer.create(this,R.raw.bmusic);soundplayer=MediaPlayer.create(this,R.raw.soundmusic);if(play)/背景音乐tryplayer.prepare();catch(IllegalStateExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTrace();player.start();elseplayer.stop();if(sonudplay)/音效trysoundplayer.prepare();catch(IllegalStateExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTrace();soundplayer.start();elsesoundplayer.stop();6.2嵌入广告的实现嵌入广告的实现,首先对其初始化,然后设置广告的基本信息,包括长度、高度、22背景等。部分代码如下:static/初始化AdManager.init(f7b9d91818b3bada,58ac2c52e8a5df23,31,false,2.1);publicvoidyoumi()/初始化广告视图AdViewadView=newAdView(this,Color.GRAY,Color.WHITE,100);/设置监听者(可以不设置,对获取广告没有影响)adView.setAdListener(this);FrameLayout.LayoutParamsparams=newFrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,FrameLayout.LayoutParams.WRAP_CONTENT);/设置广告出现的位置(悬浮于底部)params.bottomMargin=0;params.gravity

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论