Android数独游戏论文正文-毕业设计.docx

上传人:李司机 文档编号:7210734 上传时间:2024-06-29 格式:DOCX 页数:54 大小:310.49KB
返回 下载 相关 举报
Android数独游戏论文正文-毕业设计.docx_第1页
第1页 / 共54页
Android数独游戏论文正文-毕业设计.docx_第2页
第2页 / 共54页
Android数独游戏论文正文-毕业设计.docx_第3页
第3页 / 共54页
Android数独游戏论文正文-毕业设计.docx_第4页
第4页 / 共54页
Android数独游戏论文正文-毕业设计.docx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《Android数独游戏论文正文-毕业设计.docx》由会员分享,可在线阅读,更多相关《Android数独游戏论文正文-毕业设计.docx(54页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)原创性声明本人慎重声明:所提交的毕业设计(论文),是木人在导师指导下,独立进行探讨工作所取得的成果。除文中已注明引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写过的作品成果。对本探讨做出过重要贡献的个人和集体,均已在文中以明确方式标明并表示了谢意。论文作者签名:日期:年月日随着手机行业发展蓬勃快速,尤其是以Android系统为例,越来越多的手机搭载Android智能系统,该系统是以1.inux为基础的开放源代码操作系统,其开放性、不受运营商限制、丰富的硬件支持、良好的扩展性,受到外界良好评价与运用支持。Android的系统架构分为三个部分:应用部分,核心部

2、分,底层部分。除了上述划分方式以外,从系统实际的架构模型来看,Android则可以分成以卜几个层次:应用层框架层运行时核心类库硬件抽象层1.inux内核。本文主要阐述了以面对对象的程序开发语言Java,以eclipse为开发工具,基于Android系统开发一款数独嬉戏。数独是一种运用纸、笔进行演算的逻辑嬉戏。玩家须要依据9X9盘面上的己知数字,推理出全部剩余空格的数字,并满意每一行、每一列、每一个粗线宫内的数字均含不重复。每一道合格的数独谜题都有且仅有一个唯一答案,推理方法也以此为基础,任何无解或者多解的题目都是不合格的。本程序实现了难度选择功能,计时功能,成果保存,重来功能等。关键词:And

3、roid;手机嬉戏;数独ABSTRACTWiththedevelopmentofmobiIephoneindustryboomingrapidly,especiallyintheAndroidsystem,forexample,agrowingnumberofmobilephonewithAndroidintelligentsystem,thissystemisbasedonthe1.inuxopensourceoperatingsystem,itsopenness,withoutbeing1iniledbytheoperators,richhardwaresupport,goodexpans

4、ibi1ity,goodevaluationandusethesupportbytheoutsideworld.Androidsystemarchitectureisdividedintothreeparts:thepart,thecorepart,thebottompart.Inadditiontotheclassifiedmethods,fromthepointofthearchitectureofthesystemmodel,theAndroidcanbedividedintothefollowingseverallevels:(1)theapplicationlayer(2)frame

5、worklayer(3)theruntime(4)coreclasslibraries(5)hardwareabstractionlayer(6)1.inuxkernel.Thisarticlemainlyelaboratedinanobject-orientedprogramminglanguageJava,eclipseasthedevelopmenttool,developedasudokugamebasedonAndroidsystem.Sudokuisakindofusepaperandpenci1tocalculuslogicgame.P1ayersneedtoaccordingt

6、o9x9knownfiguresonthedisksurface,reasoningoutalltherestofthespace,andsatisfyeachrow,everycolumn,everyhouseNumbersarcthicklinewith1-9,don,trepeat.Everyqualifiedsudokupuzzlehasonlyoneandonlyoneanswer,reasoningmethodsandonthisbasis,thetopicofanykindofsolutionorsolutionisnotqualified.Thisprocedurerealiz

7、ethefunctionofdifficultchoice,timingfunctions,performancepreservation,tofunction,etc.Keywords:Android;MobiIephonegames:Sudoku目录第一章结论11.1嬉戏背景11.2嬉戏简介I数独题目的数量1数独题目的地少组成21.3手机嬉戏特征21.4国内外探讨现状4本章小结5其次章技术介绍52.1AndrOid简介52.2Android平台架构与特征62. 2.1Android平台特征63. 2.2AndrOid平台架构82. 3Android应用程序组件H本章小结12第三章系统分析与

8、设计132.1 系统需求分析133. 1.1功能需求分析134. 性需求分析143.2系统的结构设计14本章小结15第四章基于Android平台数独嬉戏的实现154.1 Android开发环境介绍154.2 Android开发平台搭建步骤164.3 系统的主要功能164-2嬉戏中主要类的简要介绍19难易度选择界面相关类20数独列表界面相关类20嬉戏界面相关类204.3嬉戏中主要功能详解21选择难易度界面21关卡选择界面24正式嬉戏界面324. 4数独数据库存储39数据库代码39数据库关系E-R图40嬉戏的数据检测41本章小结42第五章嬉戏的测试和运行425.1嬉戏测试概述425. 2测试环境4

9、45. 3嬉戏运行结果44本章小结47第六章总结和展望486总结486. 2展望48结束语49致谢50参考文献51附录第一章绪论1. I嬉戏背景“九宫格”一词想必大家并不生毓,它作为数独的前身,最早起源于中国。但九宫格嬉戏较为困难,须要从纵向、横向、斜向三个方向的数字之和全部等于15.不适合现在快节奏的生活,所以人们对经典的九宫格嬉戏进行了改良,形成了数独嬉戏。洛书河图是我国目前己发觉的最早的九宫格嬉戏记载,到r18世纪末,瑞士数学家莱昂哈德欧文又独创一种叫做拉丁方块”的嬉戏,之后不久,美国的一家杂志机构也刊登了类似的嬉戏,从今这个嬉戏受到了更多的欢迎,之后日本市场也引进了这个嬉戏,并进行广泛

10、的传播。2001年,在英国泰晤士报上,第一个“数独”嬉戏被刊登在此报上,从那时起数独嬉戏才真正为世界所知晓,并且很快风靡全球。其缘由得益此类嬉戏操作简洁,不须要进行困难的数字运算且可玩性高、熬炼思维、开发大脑,也不须要特定的语言基础。1.2嬉戏简介数独题目的数量究竟有多少个9X9的拉丁方阵呢?答案是:个。但是由J数独的规则是每行、每列、每个小九宫格都是要1到9之间的不同数字,这与拉丁方阵有很大不同,所以数独的谜题要比拉丁方阵少很多。直到2005年底,数学家贝米耳(StanleyE.Bammcl)与罗思坦(JerOmeRothstein)才算出一共有6670903752021072936960种

11、可能的数独谜题、为了庆贺这一结果,这两个数学家特地写了一份探讨报告。但是在同一个数独中,数独是可以变换的,像行交换、列交换,还有可能是代码交换(比如1和8交换、2和5、3和6)。若进行上述变换,用不了几次就很难分消是否来自同一数独了。为了解决这一难题,西澳大利亚高校教授GordOnRoyle博士利用图形理论,探讨出了辨别数独变换的方法。他将数独谜题利用Nauty程序图形的转化来做比对,该探讨结果把利用这一方法将宫格内的行交换、列交换、代码交换等变换方法产生的等价题都扣除,最终计算出本质上共有5472730538个不同的数独谜题。此结果表明数独谜题的数量之大,若全球锤天通过互联网和报纸刊登100

12、00个本质上不同的数独谜题,仍须要花上一万多年才能全部推列完这接近55亿的数独谜题。数独题目的最少组成好的数独题目要求已知的数字是点对称的,而且谜题要有唯一解甚至已知的数字越少越好。目前最好的纪录是给定18个数字就可以产生出唯解的数独谜题。假如放宽条件到不须要点对称,那么最少可以给定的数字是17个。很多玩家和学者对数独嬉戏痴迷不已,当然也包括很多计算机程序人员,他们在网上供应了众多免费下载的数独谜题程序。例如,才华横溢的数学家和组合学家Zcilbcrger曾写了一个在Maple上跑的程序供大家解出数独谜题,可以发觉,难度高的题目不肯定给出较少的数字,有时候供应的数字很多但仍I曰难度很高.反之,

13、供应的数字少或许反而比较简洁解题。也就是说,谜题的难易程度与供应的数字多少不是肯定相关的,谜题的难易程度和设计者的逻辑思维模式有关。1.3 手机嬉戏特征1 .易于学习:既然手机嬉戏面对的是一般消费者而不是计算机专家,那么他们不行能深化的学习嬉戏技巧。因此手机嬉戏的限制应当尽量简洁,且易于学习。即便嬉戏安排的限制方式要求很多很困难,开发商也应当考虑将其简化。与主机限制器相比,手机和平板电脑的按键和限制选项更少,这意味着手机嬉戏开发商须要进行创新。很多胜利嬉戏的限制都很简洁。比如流行嬉戏M翼飞冲天须要的玩家输入便很简洁,点击屏幕可以使下坡加速,在上坡的时候放开即可。2 .可中断性:多任务处理是手机

14、生活方式的基本特征。在手机设备上,接到电话会导致嬉戏立刻退出,所以在嬉戏中采纳智能中断设置是必要之举。假如用户在接完电话后发觉自己刚才的嬉戏状态已消逝,那么自然不会对嬉戏产生良好的印象。将来用户再玩该嬉戏的可能性也会减小,因为担忧再接到电话导致他们前功尽弃。所以一个好的手机嬉戏应当供应短时间的消遣功能,并且允许用户在嬉戏与工作模式之间顺当切换。3 .基于订阅:手机嬉戏的盈利胜利取决于他们巨大的运用量。一起先开发与设计每个嬉戏都是昂贵的。假如一个手机嬉戏开发者要概利的话,重要的是消耗一个嬉戏引擎,多个标题,基本的故事情节类似。基于订阅的嬉戏是不断产生收入的最好方法。4 .丰富的社会交互:不管一个

15、嬉戏设计得多好,只要玩家找到了它的根本模式或者玩完了全部的嬉戏路径很快就会厌烦这个嬉戏。对一个基广订阅的嬉戏,垂要的是与别的玩家合作以增加所玩嬉戏的智力与随机性。在今日纷繁困难的多玩家嬉戏中具有丰富社会交互的嬉戏证明是胜利的。5 .好的网络基础设备:巨额的手机技术研发费用都花在提高设备与网络的可用性与牢筋性上面。因此,手机设备硬件与网络协议与桌面/限制台世界(如全球定位系统(GPS)扩展、条形码扫描仪、与短消息服务(SMS)/多媒体信息服务期通讯)有着特别大的差别。好的手机嬉戏应当利用那些更新的设备特征与网络基础设备的优点。6 .有效利用屏幕好用面积:任何屏科上的运用面积都是有限的,开发商必需

16、考虑到这点。比如玩僵尸时代须要用你的拇指限制两个屏幕上的“虚拟操纵杆:这须要占据大片屏幕好用面积,使嬉戏玩起来较为困难。平板电脑有着更大的好用面积,但依旧会出现上述问题。假如用平板电脑来玩僵尸时代,操纵杆依旧很难运用,触控精确性有肯定的问题,因为相比手机来说两个操纵杆相隔更远o7 .功能反愦:由于缺乏按动按键或振动等触觉反馈,手机嬉戏必需运用不同的方式来告知用户他们的动作已经被嬉戏接受,它们应当在屏幕上供应不惹眼却能够传达信息的反馈。比如,在手游无尽之剑中会高亮玩家按动的屏幕按键引,并在屏幕上呈现相关文本。这些信号立马便可以告知玩家攻击或格挡是否胜利。同样,当受到损害时,所受损害数值也会显示在

17、屏幕上,同时生命值扣除相应数值。1.4 国内外探讨现状Android操作系统是基P1.inux平台的开发的手机操作系统,他是由闻名的互联网公司GOogle公司进行开发的。Android操作系统包括用户界面、手机操作系统和手机应用程序等移动设备所须要的全部软件能够保证正常的运用,而且Android操作系统不存在和以前手机操作系统上的阻碍移动通信设备上所需创新的全部权障碍,因为他是一个开源的手机操作系统。GOogle与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-MObiIe在内的30多家技术和无线应用的领军企业组成1.GQogle通过与运营商、设备制造

18、商、开发商和其他相关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动设备软件平台,在移动产业内形成一个开放式的生态系统。Anclroind操作系统作为谷歌企业战略的重要组成部分,将进一步推动“随时随地为每个人供应信息”这企业目标的实现。AndrOid手机操作系统将作为Google扩展移动设备市场的一个奠基石,而后为Google应用的推广起到了良好的作用。但Android操作系统不会替代谷歌长期以来奉行的移动发展策略:通过与全球各地的手机制造商和运营商结成合作伙伴,开发既有用乂有吸引力的移动服务,并推广这些产品。木率小结本章介绍了数独嬉戏的起源、数独嬉戏玩法和规则,手机嬉戏的特征,

19、以与AndrOid系统的国内外现状,看望能让大家对数独有更深化的了解。其次章技术介绍2. 1Android简介Android(安卓),是一个以1.inUX为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的OpenHandsetAUianCe(OHA,开放手持设备联盟)持续领导与开发中。Android已发布的最新版本为Android5.O(1.ollipop)Android系统最初由安迪鲁宾(AndyRubin)等人开发制作,最初开发这个系统的1.l的是创建一个数码相机的先进操作系统:但是后来发觉市场需求不够大,加上智能手机市场快速成长,于是Android被改造为一款

20、面对智能手机的操作系统。於2005年8月被美国科技企业GoogIe收购。2007年11月,Google与84家制造商、开发商与电信营运商成立开放手持设备联盟来共同研发改良Android系统,随后,Google以Apache免费开放原始码许可证的授权方式,发布了AndrOid的原码,让生产商推出搭载AndrOid的智能手机,Android后来更渐渐拓展到平板电脑与其他领域上。2010年末数据显示,仅正式推出两年的Android作业系统在市场占有率上已经超越称就逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统.2.2Android平台架构与特征2.2.1Android平台特征随着科

21、技的发展,移动电话(MobiIePhone)正朝着智能化的方向发展,逐步成为多种工具的功能载体,而Android就是这样一个智能手机的平台、一个多种工具的功能载体。1 .通信工具移动电话的最基本功能为通信功能,因此运用运营商供应的通信网络进行语音通话也是Android平台的最基本功能。除了传统的语音通话功能外,Android平台还具有短消息功能,以与通常移动电话都具有的个人信息系统管理方面的功能(如电话本等)。2 .网络工具随着数字业务运用的普遍化,移动电话通常被作为网络工具运用,即移动电话可以完成电脑的部分功能。而Android平台在网络方面的功能主要包括阅读器、IM(即时信息)、邮件等。3

22、 .媒体播放罂随着多媒体技术的发展应用,在移动电话上进行音频和视频播放已经成为常常运用的功能。由此,Android平台具有支持更多的音频/视频格式,支持更高辨别率的视频,可更流畅地播放视频,以与支持网络流媒体等功能。4.媒体获得设备随着移动电话与媒体获得设备的集成日益增加,Android平台供应/照相机、录音机、摄像机等功能。5 .多类型的连接设备AndrOid平台供应了多种连接方式,如USB、GPS、红外、蓝牙、无线局域网等。6 .具有友好和绚丽的用户界面Android平台具有友好的用户界面,运用户简洁学习和操作:同时具有绚丽的用户界面,具有良好的视觉效果。7 .可以特性化定制的平台Andr

23、oid平台针对用户的特性化需求,供应了全面白定义手机的功能。除了上述介绍的AndrOid平台的功能以外,其在技术上还具有以下几个方面的特性:全开放智能移动电话平台:支持多硬件平台;运用众多的标准化技术:核心技术完整、统一;完善的SDK和文档:完善的协助开发工具。2.2.2Android平台架构从图2.1我们可以看出,Android操作系统的体系结构可分为4层,由上到下依次是应用程序、应用程序框架、核心类库和1.inUX内核,其中第三层还包括Android运行时的环境。卜面分别来讲解各个部分。ApplicationsHomeCoMMttPho*Brger.ARruiCATIONFramework

24、。HVewNoetotionSyum*Mnfte!三,XEi1.lDRARICaAnoroioRuntime皿,Mm1.50lCof91.orwtOpenGllCSfrwiypeWebKKCZTlCCI1.inuxKernel.融jtwhFtaF1.Frl图2.1Android操作系统体系结构1. 程序应用Android连同个核心应用程序包起发布,该应用程序包包括E-InaiI客户端、SMS短消息程序、日历、地图、阅读器、联系人管理程序等。全部的应用程序都是用Java编写的山。2. 应用程序框架开发者完全可以访问核心应用程序所运用的APl框架。该应用程序框架架构用来简化组件软件的重用,任何一个

25、应用程序都可以发布它的功能块并且任何其他的应用程序都可以运用其所发布的功能块(不过得遵循框架的平安性限制)。该应用程序重用机制使得组件可以被用户替换。以卜全部的应用程序都由系列的服务和系统组成,包括:(1) 一个可扩展的视图(YieWS)可以用来创建应用程序,包括列表(IiStS)、网络(grids)文本框(textboxes)、按钮(buttons).甚至是一个可嵌入的Web阅读器。(2)内容管理器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。(3) 一个资源管理器(ResourceManager)供应非代码资源的访问

26、,如本地字符串、图形和分层文件(layoutfiles).(4)一个通知管理器(NOlifiCatiOnManager)使得应用程序可以在状态栏中显示客户通知信息。(5)一个活动类管理器(ActivityManager)用来管理应用程序生命周期并供应常用的导航回退功能.3. Android程序库AndrOid包括一个被AndrOid系统中各种不同组件所运用的C/C+集库。该库通过Android应用程序框架为开发者供应服务。以卜是些主要的核心库久(1)系统C库:一个从BSD维承来的标准C系统函数库(Iibc),特地为基于Embedded1.inUX的设饴定制。(2)媒体库:基于PaCkelVid

27、e。OPenCORE:该库支持录放,并且可以录制很多流行的音频视频格式,还有辞态映像文件包括MPEG4、H.264、MP3,AAC、JPG.PNG。(3) SurfaceManager:对显示子系统的管理,并且为多个应用程序供应2D和3D图层的无缝融合。(4)1.ibWebCore:个最新的Web阅读器引擎,用来支持Android阅读器和一个可嵌入的宵eb视图。(5)SG1.:一个内置的2D图形引擎。(6) 3Dlibraries:基于OPenG1.ES1.0APlS实现:该库可以运用硬件3D加速(假如可用)或者运用高度优化的3D软加速。(7)FreeType:位图(bitmap)和向量(ve

28、ctor)字体显示。(8)SQ1.ite:一个对广所以应用程序可用、功能强劲的轻型关系型数据库引擎。4. Android运行库Android包括了一个核心库,该核心库供应了Java编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。DaIVik是针对同时高效地运行多个VMS实现的.Dalvik虚拟机执行.dcx的Dalvik可执行文件,该格式文件针对最小内存运用做了优化。该虚拟机是基于寄存罂的,全部的类都是经由JaVa汇编器编译,然后通过SDK中的DX工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依箔于1.inux的一

29、些功能,比如线程机制和底层内存管理机制。5. 1.inux内核Android的核心系统服务依靠于1.inUX内核,如平安性、内存管理、进程管理、M络协议栈和驱动模型1.inUX内核也同时作为硬件和软件栈之间的硬件抽象层。2.3AndrOid应用程序组件应用程序组件是Android应用程序的基本构建单元。每个组件是系统进入你的应用程序的不同入口点。不是全部的组件对于用户都是事实上的入口点,有些是相G依靠的,但是每个组件都有特定的作用一一每个都是唯一的构建单元,这些构建单元定义你应用程序的全部行为这里有6个组件,它们是AndrOid应用程序的基石U久(I)Activities(活动)应用程序的显示

30、层。每一个画面对应于你的应用程序,将会是ACtiViIy类的扩展。Activity运用Views去构建UI来显示信息和响应用户的行为。就桌面开发而言,一个AC汗Vity相当于一张Form.(2)Services(服务)应用程序中不行见的“工人”。Service组件运行时不行见,但它负责更新的数据源和可见的ACtiYity,以与触发通知。它们常用来执行一些须要持续运行的处理,当你的Activity己经不处激活状态或不行见。(3) Content(内容)供应共享的数据存储。COnIenlProvider(内容供应器)用来管理和共享应用程序的数据库。在应用程序间,ContentPrOVider是共享

31、数据的首选方式。这意味着,你可以配置自己的COnIenIPrOYider去存取其他的应用程序或者通过其他应用程序暴露的ContentProvider去存取它们的数据。Android设备本身包含了几个ConIenlProvider来访问像联系人信息等有用的数据库。(4) Intents(意图)简洁的消息传递框架。运用Inten3你可以在整个系统内广播消息或者给特定的ACIivily或者服务来执行你的行为意图。系统会确定那个(些)目标来执行适当的行为。(5) BroadcastReceivers(广播接收器)Intent广播的消费者”。通过创建和注册一个BroadcastReceiver,应用程序

32、可以监听符合特定条件的广播的IntCnt。BrOadCaStReCCiYer会自动的启动你的应用程序去响应新来的Intent。BroadcastReceiver是事务驱动程序的志向手段。(6)Notifications(通知)用户通知的框架。Notification用来在不须要焦点或不中断它们当前Activity的状况下提示用户。它们是Service或BroadcastReceiver获得用户留意的订选方式。例如,当设备收到文本信息或外部来电时,它通过闪光,发声,显示图标或显示对话框信息来提示你。本章小结本章主要讲解并描述了开发基于Android系统的数独嬉戏的技术做了一些概述,通过本章的内容

33、我们要了解AndrOid的简介,Android平台的特征、架构、以与AndrOid平台应用程序组件。第三章系统分析与设计3.1 系统需求分析需求分析完成的好坏干脆影响后续软件开发的质量,它的重要性由此可见一斑。现实状况往往是,用户不了解计算机的相关学问,而开发人员也对相关业务领域不甚了解。受思维定式的影响,用户和开发人员往往对同问题有不同的理解,这样就对系统的功能确定带来了很大的麻烦。所以,开发人员和用户之间要进行充分和有效的沟通,甚至开发人员要置身于相关的业务领域,以确保开发出来的系统能够真正满意用户的须要。3.1.1 功能需求分析此次程序设计任务是Android平台下的数独设戏设计,程序将

34、在AndrOid模拟器中运行调试。此次程序设计用户界面要求较为友好,由于针对的用户为AndrOid智能手机用户,因此程序的操作特别简洁简洁操作。嬉戏进行时通过底部键盘中的数字键输入答案,程序中储存了90个分三个难度的数独题目,供用户消遣,此次程序设计的操作系统要求为Windows7,且此次程序设计须要在Eclipse环境下开发。1 .重来功能重来功能主要实现用户想要重新起先本谜题。2 .选关功能选关功能主要实现用户可以自主选择关卡。3 .计时功能计时功能主要实现村用户解决谜题的计时。4 .成果保存功能成果保存功能主要实现对用户解决本谜题所用时间的保存。5 .难易程度选择功能难易程度选择功能主要

35、实现用户依据自己实际水平选择适合自己难度的题目o6 .退出功能退出功能主要实现退出嬉戏。平安性需求分析因该嬉戏不涉与到用户信息等,因此不须要考虑信息的泄漏。7 .2系统的结构设计系统结构为进入主界面显示选择难度界面,在用户选择难度之后,进入相应的关卡选择界面,选择具体关卡之后,将进入正式嬉戏界面。在IE式嬉戏界面时,系统将会自动计时,用户按返回键则暂停计时,并返回关卡选择界面,若用户要重解本谜题,则可以运用菜单选项,按ReStarI键即可重新解答本谜题。当用户胜利解决本谜题时,系统将会自动停止计时,并保存用户解决本谜题所用的时间(即成果保存)。本程序中这三个界面之间都是可以通过返回键相互切换的

36、,具体系统结构图如图3.1所示。V:动螭戏娘戏主界面选则关卡选择碓易度计时功能用来功能退出功能图3.1系统结构图本章小结本章对Android数独嬉戏做了需求分析,并对系统结构做了简洁介绍,可以从下一章中具体看到这些界面与具体的实现方法和部分代码。第四章基Android平台数独嬉戏的实现4.1Android开发环境介绍Android的上层应用程序是用Java语言开发,同时还须要基于Dalvik虚拟机,所以,Google公司举荐运用主流的JaVa继承开发环境Eclipse171e只有ECIiPSe还不够,因为是运用JaVa语言进行开发,还应当有由SUN公司供应的JavaSDK(其中包括JRE:Ja

37、vaRuntimeEnvironment)此外,Android的应用程序开发和JaVa开发有较大区分的,所以还须要有Googlc供应的AndrOidSDK。同时,还须要在ECIiPSe安装ADT,为AndrOid开发供应开发工具的升级或者变更,是ECliPSe下开发工具的升级下载的工具皿。简言之,须要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。(1) JavaSDK(3) AndroidSDK(4) DT4.2Android开发平台搭建步骤1 .首先到下载ECIiPSe集成开发环境并且解压,这里举荐下载JaVaEE集成版本,可以为平台的搭建省卜.不少工作。接

38、若再去站点卜载SDK后安装,下找AndroidSDKl.5后解压。第一步下载工序就结束了。2 .双击Eclipse解压后书目中的eclipse.exe然后启动,选择Eclipse菜单中的HeIP-Instal1NewSoftware-选项卡上的AVaiIabIeSoftWare,点击右侧的“Add”输入后确定,然后在“Workwith”卜拉菜单中选择刚才输入的网址。过一会就会出现一个DeveloperTools选项,勾上以后点击Next以后Eclipse会自动网上杳找Android开发工具插件,然后找到AndroidDDMS和AndroidDevelopmentTools,选中这两个点击Fin

39、ish,ECliPSe就会自动卜,载并安装Android插件了最终会提示审启Eclipse,3 .重启后选择Eclipse菜单中的Windows-Preferences在左侧的Android项目中SDK1.ocation中填入AndroidSDK解压后的书目,然后点击Applyo4 .在WindowsXP的系统变量中的Path变量中添加一个值,该值指向解压后的AndroidSDK书目下的100IS文件夹咒4.3系统的主要功能数独嬉戏的规则很简洁,只需在空格处填入19的数字,并保证每个数字在每个九宫格内只能出现次,且每个数字在每行、每列也只能出现一次叫然后玩家须要在空白处填上相应的数字使其满意嬉

40、戏规则。该嬉戏的运行步骤如F:启动嬉戏后首先进入的便是嬉戏难度选择界向,效果如图4.1所示,在难度选择界面中,用户可以选择Easy,Medium,Hard三个难度等级。Hn图4.1难度选择界面择界面图4.2关卡选当用户随意选择个难度以后,将进入具体关卡选择界面,效果如图4.2所示,在随意难度中都有30个关卡。当用户随意选择个关卡后,将正式进入数独嬉戏界面,效果如图4.3所示。在嬉戏界面,由9X9的九宫格和底部的数字键盘组成。图4.4返回界面图4.3数独嬉戏界面在这里,我们可以看到,在正式嬉戏界面顶部,有计时功能,从玩家打开本谜题时起先计时,当玩家按返回键时,则哲停计时,并且变更嬉戏状态,效果如

41、图44所示。因为我们演示的是其次个谜题,当玩家按返回键时,则物停计时,其次个谜题状态变为(Playing)e我们知道,当玩家已经知道一个谜题的正确解法,但已经错误太多时候,这时就须要有重新起先本谜题的功能,在这里我们先随意填写几个数字,当且计时也垂新起我们通过图45重新起先按钮图4.6重新起先以后的嬉戏当玩家正确填满谜题之后,将会弗出对话框完成时话框,且计时功能暂停,若没有正确填写则不弹出对话框,计时功能也将接着,直到全部IE确填写完成之后才结束,效果如图4.7所示。当完成谜题之后,按返回键回到关卡选择界面,此时,被完成的谜题状态变更,旦完成的成果被保存在谜题后面,效果如图4.8所示。图4.7

42、正确填写谜题结果图4.8谜题状态与成果保存4.2嬉戏中主要类的简要介绍为了让读者更好地理解后面的代码,下面将对嬉戏中的各个类逐一进行简要说明。关于这些类的具体代码将在后面的章节中相继给出。42.1难易度选择界面相关类Folder1.istActivity类该类为选择难易度界面的实现类,主要负责选择难易度界面的绘制,是整个应用程序的入口。此类让activity继承1.istActivity,并且舍弃XM1.布局文件,全部采纳默认布局中存在的布局来布局。此类重写onCreate()方法,OnReSUmeO方法,OnWindOWFoCUSChangedO方法,OnPaUSe()方法,OnDeSIrO

43、yO方法,OnSaVeInSianCeSIale()方法(保存数据)等。4. 2.2数独列表界面相关类Sudoku1.istActivity类该类为数独列表(关卡)界面的实现类,主要负责数独关卡界面的绘制,此类继承/1.iSIACtiViIy,同样舍弃/XM1.布局文件,全部采纳默认布局中存在的布局S来布加。嬉戏界面相关类(1) SudokuPlayActivity类SudokuPlayActiYity类是嬉戏中最主要的一个类,嬉戏规则、嬉戏模型都包含在此类当中。同时该类还负责绘制嬉戏的画面、接收玩家的响应。(2) Cell类Cell类负责9X9九宫格中每一个小格的操作。(3)数独生成器Dat

44、abaSeHelPer类该类继承了SQ1.iteOpenHelper类,为嬉戏随机供应存放数独数字的二维数组,该类存储了本程序全部的谜题数据。(4) Timer类该类负责对嬉戏的计时功能。有Starto功能,StOP()功能,reset。功能,isRunning()功能,getTime等功能。(5) IMNUmPad类该类是嬉戏进行时底部的键盘,负责输入数字。数字键盘主体部分有1-9的数字,和一个(C)清除符号。4. 3嬉戏中主要功能详解选择难易度界面B11O41532-SS5V4.O.1Easy30pZ2les(1playing,29unsolved)Medium30puzzles(30un

45、solved)Hard30puzzles(30unsolved)图49选择难度界面选择难度界面主要代码如卜丁1.OnCrOatO方法负责选择难易度界面的窗口生成,此窗口由三个ContentView组成。protectedvoidonCreate(BundleSavedInstanceState)(super.onCreate(savedInstanceState):setContentView(R.layout.folder_list);ViewgctMorcPuzzles=(View)findViewById(R.id.get_Borejpuzzles);Seeefa3tKeMcde(阳Au

46、1.TjEYS_SfiORTCUT;;get1.iStViewO.SeIonCreaIeConleXlMenU1.iSIener(this);mDatabase=newSudokuDatabase(getApplicationContextO):mCursor-mDatabase.getFolder1.ist();StartManagingCursor(mCursor);SimpleCursorAdapteradapter=nevSimpleCursorAdapter(this,R.layout.folder_list_itea,inCursor,newSlringl7oIderColumns

47、.NAME,FoIderCo】UmnS._R,newintIR.id.nae.R.id.detail);InFolder1.istBinder-nevFoIder1.iStVieWBinder(this);adapter,setViewBindcr(mFo1der1.istBinder);set1.iStAdapter(adapter);Changelogchangelog=newChangelog(this):changelog.ShowOnFirstRunO;2.On1.istItemClickO方法负责点击所触法的功能。比如,当玩家点击Easy难度,将会进入下个EaSy界面关卡中。protectedvoidOn1.istItemClick(1.istView1,Viewv,intposition,longid)Intenti-newIntent(

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号