基于Android平台的数独游戏毕业论文.doc_第1页
基于Android平台的数独游戏毕业论文.doc_第2页
基于Android平台的数独游戏毕业论文.doc_第3页
基于Android平台的数独游戏毕业论文.doc_第4页
基于Android平台的数独游戏毕业论文.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

科 技 大 学毕 业 设 计( 论 文 )题目基于android平台的数独游戏作者 学院 专业 学号 指导教师 科 技 大 学毕业设计(论文)任务书1 设计(论文)题目及专题: 基于android平台的数独游戏 2 学生设计(论文)时间:自 2013 年 1月 5 日开始至 2013 年 6 月 6 日止3 设计(论文)所用资源和参考资料:1 杨丰盛 编著.android应用开发揭秘m.机械工业出版社,2010-092 (美)埃克尔 著,陈昊鹏译.java编程思想, thinking in javam.机械工业出版社,2007-06:143 (美)jason ostrander著,刘文斌译. android ui 基础教程m.北京:人民邮电出版社.2012.104 (美)ed burnette著,田俊静,张波等译. android基础教程:第3版:修订版m.北京:人民邮电出版社.2011.064 设计(论文)应完成的主要内容:设计并实现基于android移动终端平台的数独游戏,包括继续游戏模块,新游戏模块,设置模块和其他模块等。5 提交设计(论文)形式(设计说明与图纸或论文等)及要求:(1)论文思路清晰,条理清楚,中心突出,内容充实,论据充分,结构紧凑,层次分明,图表清晰,格式规范,结论正确;按湖南科技大学本科生毕业设计(论文)要求与规范编排、打印文稿;(2)上交论文(纸质)打印文稿和系统源码(电子版);6 发题时间: 年 月 日指导教师: (签名)学 生: (签名)x x 科 技 大 学毕业设计(论文)指导人评语主要对学生毕业设计(论文)的工作态度,研究内容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规范程度,存在的不足等进行综合评价指导人: (签名)年 月 日 指导人评定成绩: x x 科 技 大 学毕业设计(论文)评阅人评语主要对学生毕业设计(论文)的文本格式、图纸规范程度,工作量,研究内容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人: (签名)年 月 日 评阅人评定成绩: x x 科 技 大 学毕业设计(论文)答辩记录日期: 学生: 学号: 班级: 题目: 提交毕业设计(论文)答辩委员会下列材料:1 设计(论文)说明书共页2 设计(论文)图 纸共页3 指导人、评阅人评语共页毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规范程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任: (签名)委员: (签名)(签名)(签名)(签名) 答辩成绩: 总评成绩: 摘 要数独(sudoku)是一种运用纸、笔进行演算的数学智力游戏。玩家需要根据99盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个小九宫内的数字均含19,而且不重复。 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。随着搭载android系统的智能手机在中国的普及,不论何时,不论何地,在智能手机端玩数独游戏成为一种方便快捷的新需求。数独游戏出现错误时,必须回退一步或几步并擦除已经填入的大部分数字,在智能手机上玩数独游戏可以随时修改单元格中的数字。数独游戏规则需要根据已有数字进行推理判断,不仅具有很强的趣味性,而且能锻炼我们的逻辑思维能力。本课题研究设计一款运行在android 平台的数独游戏软件。该课题主要使用java语言开发,运行于android操作系统,实现了数独游戏的基本功能。关键词:数独;android;手机游戏;javaabstractsudoku is a math puzzle game played with paper and pen. players need to be filled 9 9 disk with known figures, reasoning other figure out, and meet each row, each column, each small nine intrauterine figures 1 to 9 inclusive, and not repeat. every qualified sudoku puzzles only have one unique answer, but also as a basis for reasoning method, no solution or any solution questions are unqualified. with android powered smart phones popular in china, no matter when, no matter where, palying sudoku game in the smart phone become a convenient new demands. sudoku error occurs, or the steps you must take a step back and erase the figures already filled. on the smartphone sudoku can be modified in a cell number. sudoku rules need to be based on the existing number of reasoning judgment, not only has a strong interest, but also to exercise our ability to think logically.this study is designed a sudoku game software to run on the android platform. using java language and runs on the android operating system, to achieve the basic functions of sudoku. sudoku is a math puzzle game played with paper and pen. according to the filled 9 9 disk with known figures, players need to reason out other figures, which must meet each row, each column, each small nine intrauterine figures 1 to 9 inclusive, and not repeat. every qualified sudoku puzzle has and only has one unique answer. as a basis for reasoning method, no solution or any other solution questions are unqualified. with the rapid popularization of android powered smart phones in china, no matter when or where, palying sudoku game in the smart phone becomes a new fashion. when sudoku error occurs, you must take a step back and delete the figures already filled. playing sudoku game on the smart phone, you can conveniently modify the numbers. sudoku rules must base on the existing number of reasoning judgment, which not only have a strong interest, but also exercise our logical thinking ability.this paper has designed a sudoku game with java language running on the android platform, which has achieved the basic functions of the sudoku game.keywords: sudoku; android; mobile games; java -湖南科技大学本科生毕业设计(论文)目 录第一章 引言11.1 项目背景11.2 项目目的11.3 主要内容1第二章 游戏开发相关技术32.1 android32.1.1 android发展历史32.1.2 android特点与系统架构32.1.3 android基本组件与项目结构52.1.4 android ui设计与其原理72.2 java82.2.1 java简介82.2.2 java se82.3 eclipse82.3 android sdk8第三章 数独游戏设计103.1 功能需求103.1.1 继续游戏模块103.1.2 开始游戏模块103.1.3 游戏设置模块103.1.4 游戏完成模块103.1.5 其他模块103.2 游戏架构设计113.3 游戏运行流程11第四章 数独游戏实现134.1开发环境搭建134.1.1 安装jdk和配置java开发环境134.1.2 sdk和adt的安装和配置134.2项目工程文件144.3游戏主界面模块164.4游戏关卡选择模块174.5游戏谜题的存储与导入224.6游戏状态存储与恢复234.7游戏界面绘制与逻辑实现244.8游戏结束检测与信息提示264.9游戏设置模块294.10游戏其他模块35第五章 总结36参 考 文 献37致 谢38-ii-第一章 引言1.1 项目背景2007年11月5日,距离苹果发布第一代iphone手机仅四个月,谷歌公司正式公布android操作系统,并且宣布与34家手机厂商、运营商成立“开放手机联盟”(oha),自此基于linux内核的android系统正式登上历史舞台。android平台自2010年以来呈现出突飞猛进的发展势头,在全球智能手机市场中所占份额从不到10%一路猛增至50%以上。2011年,全球智能手机销量首次超过pc电脑的销量。android已经成为全球智能手机市场的领跑者,截至2012年第一季度的市场份额已超过50%。在这样的情况下,基于android平台的应用也迅速增长。2012年2月数据显示,android market上的应用程序数量突破45万个,android market的累计下载量已经突破130亿次,在谷歌电子市场登记的android开发者已达10w名,android设备每天激活量达到85万台。很显然,在这样的市场环境下,android手机移动游戏开发成为一大产业,也是众多手机用户娱乐的主要项目。数独游戏在日本非常流行,在地铁车厢和候车室里,每天都可以看到人们埋头于游戏的情景,甚至有专门的“数独”游戏机出现。除此之外,很多杂志和报纸上的游戏专版也有数独栏目,不过相对于使用笔和纸来享受数独的乐趣,显然使用手机来玩游戏更具有优势。首先,游戏出现错误时,不再需要橡皮擦擦除可能填错的数字,可以使用键盘随时更改已经填入的数字;其次,免除了找谜题,打印谜题等麻烦步骤,游戏中存储的数独谜题,能够提供给玩家随时随地玩数独游戏的新享受。本论文即基于此背景而开展的。1.2 项目目的随着智能手机的普及,越来越多的普通民众习惯于在手机上完成他们想要做的事情,获取他们想了解的信息,当然,游戏作为一大娱乐项目,从电脑pc端转移到手机移动端,也不是一件稀奇的事情。数独具有庞大的群众基础,简单容易上手,又具有寓教于乐的特点,android应用开发技术的成熟使也得在基于android系统的手机上开发一款数独游戏成为可能。本项目的目的是在时下最流行的手机操作系统上开发一款数独游戏,使得玩家可以随时随地方便的体验数独的乐趣。同时,提高自己的实践动手能力和对事物的理解能力。通过此课题的研究,为今后基于android手机的游戏开发打好基础。1.3 主要内容数独游戏有广泛的用户群,游戏本身也很受欢迎。如何运用android游戏开发技术实现一款具有谜题难度选择,谜题题目选择,玩法控制等功能的数独游戏,是本论文的主要研究内容。论文具体章节安排如下:第一章,引言。主要介绍课题的背景和目的。第二章,游戏开发相关技术。主要介绍使用java进行游戏开发所涉及的相关技术以及开发工具。第三章,数独游戏设计。对数独游戏进行需求分析,以及介绍数独游戏的系统结构,流程图。第四章,数独游戏实现。本章节是本论文的主要部分,详细介绍数独游戏开发中各种技术的运用实现,并对游戏核心代码进行讲解。第五章,数独游戏测试与分析。主要是对本系统设计与实现的游戏功能以及玩法进行测试并分析,确保游戏的正确运行。第六章,总结。对课题的研究成果进行总结。第二章 游戏开发相关技术2.1 android 2.1.1 android发展历史android 一词的本义指“机器人”,最初是由andy rubin 创造的,其最初目标是把android打造成一个可以对所有软件设计人员开放的移动终端平台。2005年google 公司完成了其发展史上最成功的收购,抢先收购了android。2007年11月5日google宣布与其他34家手机制造商,包括摩托罗拉、华为、宏达电、三星、lg等著名企业组成开放手机联盟(open handset alliance,oha)。现在已经增加到50家。oha成员包括电信运营商,半导体芯片商,手机硬件制造商,软件厂商以及商品化公司,通过联盟各个合作方的努力,建立了移动通信领域新的合作环境,促进了创新移动设备的开发,创造了目前移动平台实现的用户体验7。2007年11月12日, 谷歌发布android sdk预览版,这是第一个对外公布的android sdk,为发布正式版收集用户反馈。2008年4月17日,谷歌举办开发者竞赛。2008年8月28日,谷歌开通android market,供android手机下载需要使用的应用程序。2008年9月23日,发布android sdk v1.0版,这是第一个稳定的sdk版本。2008年10月21日,谷歌开放android平台的源代码。2008年10月22日,第一款android手机t-mobile g1在美国上市,由中国台湾的宏达电制造。2009年2月,发布android sdk v1.1版。发展至今,已发布android sdk v4.2版7。2.1.2 android特点与系统架构android 基于linux技术开发,由linux内核、中间件、用户界面和应用程序组成,允许开发人员自由获得、修改源代码。是第一个可以完全定制、免费、开放的手机平台。android系统具有如下5个特点:1.开放性。google与开放手机联盟合作开发了android。google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。2.应用程序无界限。android上的应用程序可以通过标准api访问核心移动设备功能。通过互联网,应用程序可以申明它们的功能供其他应用程序使用。3.应用程序是在平等条件下创建的。移动设备上的应用程序可以被替换或扩展,即使是拨号程序或主屏幕程序这样的核心组件。4.应用程序可以轻松嵌入网络。应用程序可以轻松地嵌入html、javascript和样式表,还可以通过webview显示网络内容。5.应用程序可以并行运行。android是一种完整的多任务环境,应用程序可以在其中并行运行,在后台运行时,应用程序可以生成通知以引起注意1。android系统架构采用软件栈的架构,共分为4层,从高到低分别是应用程序层、应用程序框架层、中间件层和linux内核层。1. 应用层。是指用java语言编写的运行在android系统上的程序,google在android系统中捆绑了一些核心应用,如email客户端、sms短消息程序、通讯录、地图、浏览器等。2. 应用框架层。这一层是编写google发布的核心应用时所使用的api框架,同时提供组件重用机制,开发人员可以使用这些框架来开发自己的应用,从而简化程序开发架构设计。android提供了如下组件:活动管理器(activity manager)、窗口管理器(window manager)、内容提供者(content provider)、视图(view)、包管理器(package manager) 、通信管理器(teleghony manager)、位置管理器(location manager)、资源管理器(resource manager)、通知管理器(notification manager)。3. 中间件层。中间价层由函数库和android运行时构成。函数库主要提供一组基于c/c+的函数,如surface manage 、media framework、sqlite等函数库。当使用android应用框架时,android系统会调用中间件层的c/c+库来支持我们使用的组件,使其能更好的满足程序开发的需要。android运行时包括核心库和dalvik虚拟机两部分。核心库主要提供android系统的特有函数功能和java语言函数功能;dalvik虚拟机主要实现基于linux内核的线程管理和底层内存管理7。4.linux内核层。android的核心系统服务基于linux2.6内核。内核提供安全机制、内存管理、进程管理、网络协议栈和驱动程序等。linux内核同时也作为硬件和其他软件栈之间的抽象层1。框架结构图6如图2.1所示。图2.1 android系统结构图2.1.3 android基本组件与项目结构android平台与其他很多计算机平台上的应用程序不同,android应用程序没有唯一的启动入口(如c语言中的main()函数入口),一个android应用是由多个不同的组件组合而成,组件之间通过intent来实现通信。android系统最重要的组件包括activity、service、broadcast receiver和content provider等,此外还包括专门负责在基本组件之间传递消息的intent组件。所有这些组件都必须在程序的主配置文件androidmanifest.xml中声明。下面分别来介绍这些基本组件:(1)activityactivity是应用程序的表示层。应用程序的每个屏幕显示都是通过继承和扩展基类activity来实现的。activity利用view来实现应用程序的gui(graphical user interface,用户图形界面),而我们的手机用户则直接通过gui和应用程序进行交互。如应用程序通过gui向用户显示信息,用户通过gui向应用程序发出指令和相应操作。(2)service与activity相反,service没有可见的用户界面,但service的特点是能长时间在后台运行。它是不能与用户交互,不能自己启动的运行在后台的程序,应用退出时,service进程并没有结束,它任然在后台运行。service是具有一段长生命周期且没有用户界面的程序。典型的应用就是在后台播放音乐和下载文件的功能。(3)broadcast receiverbroadcast receiver是用户接受广播通知的组件。广播是一种同时通知多个对象的事件通知机制。android中的广播通知可以来自系统,可以来自普通应用程序。很多事件都可能导致系统广播,比如手机所在时区发生变化,电池电量的变化,系统语言设置的变化等等。而普通应用程序发出通知的典型应用就是在一个文件下载完毕之后通知其他的应用程序。 (4)content providercontent provider是所有应用程序之间数据存储和检索的一个桥梁,它的作用就是使得各个应用的程序之间实现数据共享。在android中,content provider 是一个特殊的存储数据的类型,它提供了一套标准的接口用来获取、操作数据。系统也提供了音频、视频、图像、个人联系信息等几个常用的content provider。可以通过创建自己的content provider类,来公开自己的私有数据,或者可以将这些数据拥有控制、写入的权限时将这些数据添加到content provider 中来实现共享1。在建立android项目的过程中,adt会自动建立一些目录和文件,这些目录和文件有其固定的作用,有的允许修改,有的不能修改。下面逐一介绍:1.src源代码目录:该目录存放android应用程序所有的源代码,该目录项有不同的包,包中对应开发的源程序,开发人员主要精力都集中在开发src目录下内容。2.gen 文件夹目录:该目录存放了eclipse的adt插件自动生成的r.java文件。实际上r.java定义了一个r类,它包含了对drawable、layout和values目录内的资源的引用指针,android程序能够直接通过r类引用目录中的资源。该类由系统自动生成,不允许修改。3.android.jar:该文件是android程序所能引用的函数库文件,android通过平台所支持api都包含在这个文件中。4.assets目录:用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。此目录中的资源不能被r.java文件索引。,所以只能以字节流的形式读取。一般情况下为空。5.res资源目录:该目录下定义了drawable、layout及values3个目录。drawable目录主要用于存放图片资源。layout目录用来保存与用户界面相关的布局文件。values目录保存参数描述文件,包括字符串(string.xml)、颜色(color.xml)、样式(arrays.xml)等。6.androidmanifest.xml文件:androidmanifest.xml是xml格式的android程序声明文件,包含了android系统运行android程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和sdk最低版本等,而且每个android程序必须在根目录下包含一个androidmanifest.xml文件。只有在androidmanifest.xml文件中声明的activity才能在用户界面中显示,尤其是activity、intent receiver、service及content provider,凡是需要用到的组件都要在此注册2。7. perties文件:该文件记录了android工程的相关设置,该文件不能手动修改,需右键单击工程名称,选择“properties”进行修改。在perties文件中只有第12行是有效代码,说明android程序的编译目标,即android api版本7。2.1.4 android ui设计与其原理用户界面(ui)是应用程序和用户之间联系的桥梁。android的ui框架足够强大,能够创建复杂的带有图形和动画的ui,同时它也足够灵活,能够从小屏幕的手持设备扩展到平板电脑以及电视8。android的ui设计方法有两种:过程性设计和声明性设计。过程性设计是指用代码设计用户界面。另一方面,声明性设计不涉及任何代码9。过程性设计通常使用view和viewgroup对象构建而成,所有的图像元素都是view的子类。一个activity界面可以包含多个view和viewgroup,通过布局的组合、嵌套,实现更灵活、更完美的界面。构成activity的结构图如图4.2所示。图4.2 view和viewgroup混合布局的activity界面8声明性设计通常使用设计风格类似于html的xml标记语言实现。使用xml布局的元素可以是view或者viewgroup。通过布局的组合嵌套,同样可以完成复杂多样的界面设计。下面是一个简单的水平线性布局的代码。 当然,只有布局是不能完成游戏功能的,还需要绑定事件监听。下面是常用的一些事件监听方法。class clickevnet implements onclicklistener public boolean onkeydown(int keycode, keyevent event)public boolean ontouchevent(motionevent event)2.2 java 2.2.1 java简介java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。是由sun microsystems公司于1995年5月推出的java程序设计语言和java平台(即javase,javaee,javame)的总称。java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人pc、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专用社群。在全球云计算和移动互联网的产业环境下,java更具备了显著优势和广阔前景4。java是一个纯的面向对象的程序设计语言,它继承了 c+ 语言面向对象技术的核心,java舍弃了c +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)、枚举等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得开发人员不用再担心内存溢出等问题4。java平台由java虚拟机(java virtual machine)和java 应用编程接口(application programming interface,简称api)构成。java具有与平台无关的特性,依赖于java虚拟机实现。java文件被编译成一种与机器无关的字节码格式。这种字节码格式在java虚拟机上运行,能够在配置有java运行环境的任意机器上执行。也就是说,java程序的运行不依赖于具体的操作系统和硬件平台,不管操作系统属于windows、linux还是mac os,只要配置有java运行环境,java程序即可实现一次编译,到处运行。2.2.2 java sejava se(java platform,standard edition) 是java平台标准版的简称,通常被称为j2se。用于开发和部署桌面、服务器以及嵌入式设备和实时环境中的java应用程序。java se包括用于开发java web服务的类库,同时,java se为java ee提供了基础。android开发也主要是基于javase的类库5。2.3 eclipseeclipse 是一个开放源代码的、基于java的、跨平台的集成开发环境(ide)。最开始是一个开放源代码的软件开发项目,最初由oti和ibm两家公司的ide产品开发组创建,起始于1999年4月。目前由ibm牵头,围绕着eclipse项目已经发展成为了一个庞大的eclipse联盟,有150多家软件公司参与到eclipse项目中,其中包括borland、rational software、red hat及sybase等。它主要由eclipse项目、eclipse工具项目和eclipse技术项目三个项目组成,具体包括四个部分组成eclipse platform、jdt、cdt和pde。 jdt支持java开发、cdt支持c开发、pde用来支持插件开发,eclipse platform则是一个开放的可扩展ide,提供了一个通用的开发平台。eclipse的设计思想是:一切皆插件。eclipse核心很小,其它所有功能都以插件的形式附加于eclipse核心之上。eclipse基本内核包括:图形api (swt/jface), java开发环境插件(jdt ),插件开发环境(pde)等。eclipse的插件机制是轻型软件组件化架构。在客户机平台上,eclipse使用插件来提供所有的附加功能,例如支持java以外的其他语言。已有的分离的插件已经能够支持c/c+(cdt)、perl、ruby,python、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。eclipse的本身只是一个框架平台,但是众多插件的支持使得eclipse拥有其他功能相对固定的ide软件很难具有的灵活性。许多软件开发商以eclipse为框架开发自己的ide。2.3 android sdkandroid sdk(android software development kit)提供了在windows/linux/mac平台上开发android应用的开发组件,android支持所有的平台,其包含了在android平台上开发移动应用的各种工具集。工具集不仅包括了android模拟器和用于eclipse的android开发工具插件(adt),而且包括了各种用来调试、打包和模拟器上安装应用的工具。android sdk主要是以java语言为基础,用户可以使用java语言来开发android平台上的软件应用。通过sdk提供的一些工具将其打包成android平台使用的apk文件,然后用sdk中的模拟器(emulator)来模拟和测试软件在android平台上运行情况和效果。android sdk是google官方提供的android开发专属软件开发包,android sdk有多个版本,从最初的1.1到现在的4.2。考虑到android系统市场占有率,本应用兼容的最低版本为2.2,运行版本为4.0版本。第三章 数独游戏设计3.1 功能需求本数独游戏主要利用android游戏开发技术在windows环境下实现数独游戏基本功能,该系统具备如下需求:3.1.1 继续游戏模块需求总述:保存玩家游戏状态,供玩家下次继续游戏。功能描述1:只有在玩家有中途退出游戏的情况下,才能继续游戏。功能描述2:保存玩家中途退出游戏时的状态值。功能描述3:恢复玩家中途退出游戏时的状态值。3.1.2 开始游戏模块需求总述:玩家可以选择任意难度的任意关卡开始游戏。功能描述1:提供容易,中等,困难游戏难度选择。功能描述2:显示对应难度等级的关卡选择界面。功能描述3:完成游戏界面的设计及功能的实现。3.1.3 游戏设置模块需求总述:对游戏环境及玩法等设置项进行控制。功能描述1:设置游戏音乐的播放与暂停。功能描述2:设置游戏语言的中英文切换。功能描述3:设置是否打开游戏颜色提示。功能描述4:设置是否打开数字输入键盘提示。3.1.4 游戏完成模块需求总述:对游戏是否完成进行检查以及显示游戏完成信息。功能描述1:检测游戏是否完成。功能描述2:设定计分规则,并存储每一关卡的最好成绩。功能描述3:游戏完成时,提示此次分数,并显示提示语与其他信息。功能描述4:提供下一步操作选择,返回关卡选择界面或者继续下一关。3.1.5 其他模块需求总述:其他辅助性功能设计。功能描述1:数独谜题的存储与导入。功能描述2:游戏说明。功能描述3:退出游戏。3.2 游戏架构设计根据功能需求分析,本游戏可分为几个主模块,每个主模块又可分为几个子功能模块,其详细结构图如图3.1所示。图3.1 数独游戏系统结构图3.3 游戏运行流程根据需求分析,游戏开始模块整个游戏的核心,其他功能都是对调用开始游戏进行配置,以满足不同的用户需求,获得更好的用户体验。系统运行流程图如图3.2所示。图3.2 数独游戏系统流程图第四章 数独游戏实现4.1开发环境搭建android开发可以基于windows xp及其以上版本、mac os、linux 等操作系统,本游戏开发是基于windows xp(32位)系统。开发所需软件如下:jdk :1.7版本。eclipse:3.6.2版本。android sdk :android sdk 2.2。adt:21.1.0。4.1.1 安装jdk和配置java开发环境(1) 登陆 ,下载最新版jdk。这里下载的是jdk 1.7版本。(2) 安装jdk 1.7。(3) 安装eclipse 3.6.2。登录/downloads/下载对应eclipse版本,解压至相应的位置。eclipse需要在正确安装jdk的操作系统下运行,启动时会自动检测java运行时环境。当进入欢迎界面时,表示开发java程序所需的环境搭建成功。4.1.2 sdk和adt的安装和配置(1) 安装andriod sdk从官方网站下载android_sdk_r10_windows.zip并解压。运行sdk manager.exe,在窗口中选择要安装的android sdk tools 、android api版本及google usb driver和sdk文档,选择好之后点击 install packages 按钮开始下载所选择的安装包。(2) android sdk配置右击“我的电脑”, 依次选择“属性”,“高级”,“环境变量”选项。选择“系统变量”中的“path”的项,点击编辑,将android sdk安装文件夹下的tools文件夹的路径加入到“path”中,点击确认,完成环境变量配置。(3)安装配置adt启动eclipse,点击“help”菜单,选择“install new software”项,点击“add site”按钮,输入/android/eclipse/,点击“ok”下载安装adt插件。下载完后重启eclipse,点击“window”菜单,依次选择“preferences”,“android”点击“browse”按钮,选择android sdk 的安装路径,点击“apply”按钮,可以看到android sdk中包含的已下载的android platform,最后点击“ok”按钮确认。(4)连接调试android手机adt安装完成后,进入手机“设置”,找到“开发人员选项”,打开“usb调试”选项。将手机通过usb连接电脑,电脑提示找到“android composite adb interface”新硬件,按步骤安装手机驱动。安装完成后,打开eclipse,在左侧的“package explorer”栏中,单击鼠标右键,选择对应的android project,找到“run as”选项,选择“android aplication”选项卡,在弹出的“android device chooser”窗口中,选择“choose a running android device”模式,当存在可以选择的device供程序运行时,表示eclipse和android手机已成功连接。连接成功图如图4.1所示。图4.1 android手机连接成功图至此,android应用开发环境搭建基本完毕。4.2项目工程文件项目工程文件列表如图4.2所示,展示了本项目的全部源代码文件,通过这个列表可以大致了解本系统的程序实现。图4.2 项目源文件列表4.3游戏主界面模块游戏主界面类名称:sudoku.java,负责显示游戏下一步操作的界面,提供调用其他类的接口。图4.3为sudoku.java文件的详细代码结构图,图4.4为游戏主界面,图4.3 sudoku.java详细代码结构图 图4.4 游戏主界面其中isnewgame变量用于控制是否显示继续游戏按钮,因为当游戏第一次运行时,显示继续游戏按钮不符合逻辑,设置一个boolean量isnewgame用于控制主界面显示的xml,关键代码如下:if(isnewgame)setcontentview(r.layout.startmain);elsesetcontentview(r.layout.main);当开始新游戏时,置isnewgame变量为false,当游戏完成时,置isnewgame变量为true。4.4游戏关卡选择模块(1)游戏难度选择游戏关卡选择模块主要包括游戏难度等级选择,游戏关卡的选择等。游戏难度等级选择如图4.5所示,游戏关卡选择界面如图4.6所示。 图4.5游戏难度选择界面 图4.6游戏关卡选择界面游戏难度选择通过实例化一个alertdialog来实现,传入定义好的难度数组xml,监听选择的项,将索引值传递给关卡选择类levelactivity.java。xml文件及关键代码如下:string/esay_labelstring/medium_labelstring/hard_labelprivate void opennewgamedialog(context context) alertdialog.builder builder = new alertdialog.builde

温馨提示

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

评论

0/150

提交评论