资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
基于基于 AndroidAndroid 的数独游戏设计与开发论文的数独游戏设计与开发论文太原科技大学学士学位论文 第一章 绪论 1.1 游戏背景 ,最早起源于中国。但当时的算法比现在的更为复 数独的前身为“九宫格”杂,要求纵向、横向、斜向上的三个数字之和等于 15,而不是数字不能重复。儒家典籍易经中的“九宫图”也是来源于此。 到了 18 世纪末,瑞士数学家莱昂哈德欧文又发明了一种叫做“拉丁方块”的游戏,之后不久,美国的一家数字逻辑游戏杂志开始刊登这类游戏,使此类游戏得到良好发展,之后又在日本得到了广泛的传播。2004 年,第一个“数独”游戏被刊登上了英国泰晤士报的封面,此时开始数独游戏才真正为世界所知晓。由于此类游戏操作简单,不需要特定的语言基础,也不需要进行数字运算且可玩性高、锻炼思维、开发大脑,所以很快风靡全球。之后由其衍生的游戏也越来越多,例如杀手数独、角线数独等。1.2 游戏简介 1.2.1 数独题目的数量 到 底 有 多 少 个 99 的 拉 丁 方 阵 呢 ? 答 案 是 : 5524751496156892842531225600 个。但数独的规则除了每行每列都是 1 到 9 的数字外,数独的 9 个小九宫格也都要是 1 到 9 不同的数字,所以应该要减少很多。直到 2005 年底,数学家贝米耳(Stanley E. Bammel)与罗思坦(Jerome Rothstein)才算出一共有 6670903752021072936960 种可能的数独谜题。这两个数学家还写了一个专门的研究报告来庆祝这个结果, 由于同一个数独可以变形,如列交换、行交换、 ,重复前面几次之后,就数字代码交换(比如 1 和 5 交换、2 和 8、3 和 4)分不清是来自同一个数独了,西澳大利亚大学(The University of Western 教Australia) 授 Gordon Royle 博士利用图形理论,研究出辨识数独变形的方法。将数独谜题利用 Nauty 程序图形转化,然后做比对,该研究结果见 数学家利用群论将宫格内的数字 1 和数字 2 全部对换,或者把方阵转 90 度或翻面等变形方 太原科技大学学士学位论文法所产生出来的等价题目扣除后,计算出共有 5472730538 个本质上不同的数独题目。这是一个非常庞大的数字,假设全球每天在媒体或者网页上刊登 10000 个本质上不同的数独谜题,仍需要花上一万多年才能全部列完这 50 多亿个数独谜题。1.2.2 数独题目的最少组成 好的数独题目要求已知的数字是点对称的,而且谜题要有唯一解甚至已知的数字越少越好。目前最好的纪录是给定 18 个数字就可以产生出唯一解的数独谜题。如果放宽条件到不需要点对称,那么最少可以给定的数字是 17 个。许多玩家和学者对数独游戏痴迷不已,当然也包括很多计算机程序人员,他们在网上提供了众多免费下载的 数独谜题程序 。例如,才华 横溢的数学家和 组合学家 Zeilberger 曾写了一个在 Maple 上跑的程序供大家解出数独谜题 可以发现,难度高的题目不一定给出较少的数字,有时候提供的数字很多但仍然难度很高。反之,提供的数字少也许反而比较容易解题。也就是说,谜题的难易程度与提供的数字多少不是绝对相关的,谜题的难易程度和设计者的逻辑思维模式有关。1.3 手机游戏特征 1 易于学习: 既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。消费者不会花几个小时去研究一个 3 元的手动操作的游戏。保持游戏的简单是最基本的要求。 2 可中断性: 多任务处理是手机生活方式的基本特征。手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。而游戏、日历管理、通讯与工作数据访问使用的是同一个设备。所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏与工作模式之间顺利切换。 3 基于订阅:手机游戏的盈利成功取决于他们巨大的使用量。一开始开发与设计每个游戏都是昂贵的。如果一个手机游戏开发者要赢利的话,重要的是氍一个游戏引擎,多个标题,基本的故事情节类似。基于订阅的游戏是不断产生收入的最好方法。 太原科技大学学士学位论文 4 丰富的社会交互: 不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。对于一个基于订阅的游戏,重要的是与别的玩家合作以增强所玩游戏的智力与随机性。在今天纷繁复杂的多玩家游戏中具有丰富社会交互的游戏证明是成功的。 5 好的网络基础设备:巨额的手机技术研发费用都花在提高设备与网络的可用性与可靠性上面。因此,手机设备硬件与网络协议与桌面/控制台世界(如全球定位系统 GPS 扩展、条形码扫描仪、与短消息服务 SMS/多媒体信息服务 MMS 通讯)有着非常大的差别。好的手机游戏应该利用那些更新的设备特征与网络基础设备的优点。1.4 国内外 Android 现状 Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。它包括操作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google 与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android 作为谷歌企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。本章小结 数独游戏介绍以及 android 系统的国内外现状, 本章介绍了数独游戏的起源、望能让大家对数独有更深入的了解。 太原科技大学学士学位论文 第二章 开发平台介绍 2.1 Android 简介 Android 本意指“机器人” ,最初由现任 Google 工程副总裁的安迪罗宾 Andy Rubin 创建于 2003 年,2005 年被 Google 收购 。 2007 年 11 月 5 日 基于 Linux 内核的软件平台和操作系统由 Google 正式发布,开启了一个新手机系统辉煌时代的开始。同时 Google 联合了 34 家厂商并成立了“开放手机联盟” ,开启了 Android 发展的最初标准和加盟支持原则。 2008 年 9 月 23 日,Android 初步发布 SDK1.0。第一款机型 Dream G1 的诞生Android 1.0 时代在 2009 年 10 月 23 日。 不被市场认可-G1 和 G2 逐渐被市场接受 Android 1.5 时代 HTC Hero G3 广受欢迎,成为最受欢迎的机型 Android 1.6 时代 众多厂商加盟支持,机型越来越多,市场反应和占有率越来越高,同时伴随着 Market 出现爆发式增长。然后支持蓝牙 2.1、多点触控 Android 2.0 时代,支持动态桌面 Android 2.1 时代,支持在线视频 Flash 播放、网络共享功能,加入了 Just-In-TimeJIT 功能较大提升了运行速度Android 2.2 时代内置 NFC Reader 功能、强化游戏性 Android 2.3 时代,专门针对平板电脑进行优化的 Android 3.0 版 Android 进入真正意义上的平板电脑时代陆续上市。2.2 Android 平台架构及特征 2.2.1 Android 平台特征 1.支持组件的重用与替换。意味着我们可以把系统中不喜欢的应用程序换掉,安装我们自己喜欢的程序。 2.Dalvik 虚拟机专门为移动设备做了优化。将 class 文件通过 DX 工具转换成后缀为.dex 的文件来执。Dalvik 虚拟机基于寄存器,比 java 虚拟机快。 3.内部集成浏览器基于开源的 WebKit 引擎。 4.优化的 2D 和 3D 图形库。 太原科技大学学士学位论文 5.SQLite 数据库,用于结构话的数据存储。 6.支持各种多媒体格式:MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF, 7.GSM 电话全球通。 、EDGEGSM 到 3G 的过渡。 8.蓝牙、Wifi(无线局域网) 9.照相机、GPS、指南针和加速度计。 10. 丰富的开发环境包括设备模拟器,调式工具,内存及性能分析表和Eclipse 集成开发环境插件。Google 提供了 Android 开发包 SDK,其中包含大量的类库和开发工具。2.2.2 Android 平台架构 如图 2.1 所示的 Android 操作系统的体系结构图,我们可以看出 Android 操作系统结构分为 4 层,由上到下一次是应用程序、应用程序框架、核心类库和 Linux 内核。 图 2.1Android 操作系统体系结构 1.应用程序:Android 连同一个核心应用程序抱一起发布,改应用程序包包括 E-mail 客户端。SMS 短消息程序、日历、地图、浏览器、联系人管理应用程序等。 2.开发者完全可以访问核心应用程序所使用的 API 框架。该应用程序框架用 太原科技大学学士学位论文来简化组件软件的重用,任何一个应用程序度可以发布它的功能并且任何其他应用程序度可以使用其所发布的功能块。应用程序都是由一系列的服务和系统组成 、内容管理器(Content Providers) 源 管包括:一个可扩展的视图(Views) 、资 、通知管理器(Notification Manager)理器(Resource Manager) 、活动类管理 。器(Activity Manager) 3.Android 程序库通过 Android 应用程序框架为开发者提供服务主要核心库包括:系统 C 库、媒体库、Suface Manager、LibWebCore、SGL、3D libraries、FreeType、SQLite。 4. Android 运行库包括一个核心库,提供 java 编程语言核心库的大多数功能。 5.Linux 内核:Android 的核心系统服务依赖于 Linux2.6 内核,如安全性、内存管理、进程管理、网络协议、和驱动模型。2.3 Android 应用程序组件 如前所述,Android 运行在 Linux 内核上。Android 应用程序是用 Java 编程语言编写的,它们在一个虚拟机(VM)中运行。需要注意的是,这个 VM 并非您想象中的 JVM,而是 Dalvik Virtual Machine,这是一种开源技术。每个 Android 应用程序都在 Dalvik VM 的一个实例中运行,这个实例驻留在一个由 Linux 内核管理的进程中,如下图 2.2 所示。 太原科技大学学士学位论文 图 2.2 Dalvik VMAndroid 应用程序由一个或多个组件组成:1.活动(Activity) 具有可视 UI 的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。2.服务 Service 服务应该用于任何需要持续较长时间的应用程序,例如网络监视器或更新检查应用程序。3.内容提供程序 Content Provider 可以将内容提供程序看作数据库服务器。内容提供程序的任务是管理对持久数据的访问,例如 SQLite 数据库。如果应用程序非常简单,那么可能不需要创建内容提供程序。如果要构建一个较大的应用程序,或者构建需要为多个活动或应用程序提供数据的应用程序,那么可以使用内容提供
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号