logo资料库

大学毕业论文_基于Android的五子棋游戏设计.pdf

第1页 / 共45页
第2页 / 共45页
第3页 / 共45页
第4页 / 共45页
第5页 / 共45页
第6页 / 共45页
第7页 / 共45页
第8页 / 共45页
资料共45页,剩余部分请下载后查看
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 基于 Android 的五子棋游戏设计 软件工程 【摘 要】本论文主要阐述以面向对象的程序开发语言 eclipse 为开发工具, 基于智 能手机 Android 之上设计一个五子棋游戏。五子棋起源于中国古代的传统黑白棋种之一, 它不仅能增强思维能力 提高智力,而且富含哲理,有助于修身养性。本系统是本系统中设 定了人机对战和人人对战两种模式。人机对战实现的是一些简单的算法,人人对战只是进 行了输赢方的判定。它与 javame 的五子棋设计有许多的不一样,Android 本来就是全触摸 的形式,而且操作非常简单。 【关键词】机器人, 生命周期,算法,线程 The five in a row game based on Android 【Abstract】 This paper mainly expounds the object-oriented program development in eclipse for language development tool, smartphone Android based on above design a five in a row game. Gobang originated in China ancient traditional black white kind, it not only can enhance one of thinking capacity, improve intelligence and high in philosophy, helps to cultivate one's morality raises a gender. This system is the system that set the man-machine against and everyone against two patterns. The realization man-machine against some simple algorithm, everyone was against just win the judgement of the party. It has with the javame gobang chess design many are dissimilar, Android is the entire touching form originally, moreover operates is simple. 【Key words】 Android,Activity, arithmetic,Thread - 1 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 目 录 绪论 ........................................................................ 4 1 开发概述 .................................................................. 6 1.1 背景 ................................................................ 6 1.2 课题来源 ............................................................ 6 1.3 国内外研究现状 ...................................................... 7 1.4 论文主要工作 ........................................................ 8 2 Android 的开发环境 ........................................................ 8 2.1 操作系统 ............................................................ 8 2.2 Android 开发环境 ..................................................... 8 2.3 Android 开发环境变量配置 ............................................. 9 2.3.1 jdk 的配置 ..................................................... 9 2.3.2 sdk 的配置 .................................................... 10 2.4 eclipse 设置 ........................................................ 10 2.5 Android 开发环境配置最终步骤 ........................................ 11 3 Android 应用程序核心 ..................................................... 11 3.1 应用程序基础 ........................................................ 11 3.2 应用程序组件 ....................................................... 12 3.2.1、活动(Activities) ........................................... 12 3.2.2、 服务(Services) ............................................ 15 3.2.3、广播接收者(Broadcast receivers) ............................ 16 3.2.4、内容提供者(Content providers) .............................. 17 4 相关技术概念 ............................................................. 17 - 2 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 4.1 坐标布局(AbsoluteLayout) .......................................... 17 4.2 Intent ............................................................. 19 4.3 AlertDialog ........................................................ 21 4.4 相关的算法研究: ................................................... 21 4.4.1 相关的数据结构 ................................................ 21 4.4.2 分析规则 ...................................................... 21 4.4.3 胜负判断 ...................................................... 24 4.4.4 算法实现描述 .................................................. 24 5.实现运行情况,以及各个模块的截图 ......................................... 26 5.1 概要设计: .......................................................... 26 5.2.1 游戏主界面: .................................................. 27 5.2.2 新游戏界面: .................................................. 28 5.2.3 帮助界面 ...................................................... 28 5.2.4 关于五子棋介绍界面 ............................................ 29 5.2.5 五子棋的退出: ................................................. 30 总结 ....................................................................... 31 参考文献 ................................................................... 32 附录 ....................................................................... 33 - 3 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 绪论 智能手机(Smartphone),具有独立的操作系统,像个人电脑一样支持用户自行安 装软件、游戏等第三方服务商提供的程序,并通过此类程序不断对手机的功能进行扩 充,同时可通过移动通讯网络来实现无线网络接入。目前,全球多数手机厂商都有智 能手机产品,而芬兰诺基亚、美国苹果、加拿大 RIM(黑莓)、美国摩托罗拉、中国 台湾宏达(htc)更是智能机中的佼佼者。 智能手机具有五大特点:1. 具备了无线接入互联网的能力,即要有 GSM 的支持网络 下的 GPRS 或者是 CDMA 网络支持下的 CDMA 1X 或 3G 网络。2. 人性化,可以根据个人需要 扩展机器的功能。3. 它是具有开放性的操作系统,还可以安装非常多的应用程序,使得 智能手机的功能可以得到无限的扩展。4. 具有 PDA 功能,其中包括个人信息管理、日程 记事、任务安排、多媒体应用、浏览网页。5.强大的功能,扩展性能强,第三方软件支持 多。 Android 的诞生:从时间要追溯到 二零零三年,在参与到 Android 的传奇之前,它 的创始人 Andy Rubin 在周刊中这么说过:“在开发对于用户位置以及状态更加敏感的移 动设备方面存在着巨大的潜力”,他还说过:“很快他们就会在消费类产品中使用这些位 置信息,如果开发者足够聪明的话。”现在看起来他自己都没想到他的预言是多么的准确: 实际上,移动领域将会发生巨变,从而催生出我们从未见过的强大的智能手机。到二零零 五 年有很多关于 Google 即将进军移动设备制造领域并专注于制造基于位置服务的手机 的谣传,但最大的障碍就在于 Google 没有自己的可以达成这个目标的平台。 在二零零五 年 七月,Google 收购了 Android,这么一个小规模收购行动还是立刻引 起了移动业界的兴趣,它们怀疑这是 Google 进入移动市场的的标志。尽管如此,这个当 - 4 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 时只是一个小规模的移动软件开发公司正是由 Andy Rubin、Rich Miner、Nick Sears 以 及 Chris White 四个人共同创建的。现在看来,他们的怀疑是正确的。差不多两年半以 后,在 二零零七 年 十一 月 五 日,Google 发布了 Android,它这个的发布给移动业界 带来了一场可怕的风暴,,基于 Linux 的全新移动操作系统。这不单单是一个全新的移动 系统,非常重要的是:它是开源的。 这 是 当 时 新 成 立 的 开 放 手 机 联 盟 整 合 下 的 成 果 , 诸 如 Google 、 HTC 、 Intel 、 Sprint-Nextel、T-Mobile 以及 NVIDIA 都是这个联盟的成员,该联盟的目的就是要创立 移动设备的开放标准。第一款搭载 Android 系统的手机是 2008 年 9 月由 T-Mobile 发 布的 G1,它拥有 GPS 功能,3.1M 摄像头,以及一系列的 Google 应用。G1 的面市,正 式拉开了 Google 以及整个移动业界激动人心的大冒险的序幕。 Android 操作系统版本 Android 1.1 (发布于 2009 年 2 月) Android 1.5 “Cupcake” 这是第一个主要版本,发布于 2009 年 5 月.这个升级之 后,它的更新给用户带来了新的体验。用户界面得到了极大的改良,并且增添了以下功能。 Android 1.6 “Donut” 2009 年 9 月发布。搭载 Android 1.6 的 HTC Hero 获得了意想 不到的成功。使得原来用许多都没有用过 Android 的人都对 Android 非常的关注,并且也 让竞争者苹果和微软更加警惕了。 Android 2.0/2.1: 2009 年 10 月 26 日,又一个主要版本升级以创纪录的速度放出。 这次,大版本升级到了 Android 2.0/2.1 “Eclair.”。 Android 2.0.1 SDK 在 2009 年 12 月 3 日发布出来,后来是 2010 年 1 月 10 日 发布的 2.1 版本。很多围观群众和用户可能会有点奇怪:“Android 为什么会被用甜点作 为它系统版本的代号?”,其实这个命名方法开始在 Andoird 1.5 发布出来的时候。每 一个版本代表的甜点的尺寸就越变越大,然后按照字母的数序:小蛋糕,甜甜圈和松饼。 在这之前人们预计 2.2 版本的代号可能是“馅饼”,但这个最终被证明是错误的, “FroYo”(冻酸奶)才是 Android 2.2 这个伴随 Google Nexus One 发布的新版的最新 代号。而下一个版本的代号将会是“姜饼”。Android 2.2 “Froyo”: Nexus One 的用 户已经开始接受 Android 2.2 “FroYo”的无线更新,其它机型的用户可能会在短时间内 获取到这一更新的。这一版本的更新出来会让大量让其他手机用户垂涎三尺。 有关的消息众口一词声称 Android 3.0 “Gingerbread”,Google 将会在今年秋天 的某个时候发布出来,它将带来给用户新的体验。 从 Android 的发展旅途中,我们看到 2003 年 Andy 他是一个有远见的人,看到了 2005 年的起步和被 Google 的收购,也看到了系统的进步以及新的机型的快速发布。所 有这一切都让我们相信,Android 将会走向世界第一移动操作系统宝座的步伐是势不可挡 的。Android 平板电脑也在今年的夏天开始发布以及 Google TV 发布以后(也许还有 - 5 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 Google Music?),Android 可能真的会将继续带着我们走向移动设备梦想的彼岸。 1 开发概述 在手机游戏的早期,大多数开发者都是想要玩转设备、学习技巧和快速攻关的狂热分 子。但是,随着更多的开发者加入这个行业,手机游戏已经进化成涉及到专业设计师、构 造师、开发者、产品经销商、律师、和艺术家在内的主导产品。这是行业走向成熟的必然 趋势。尽管在某人的业余时间内要开发和推销简单的游戏更加困难,但是更多的专业商店 将为许多人提供更多的就业机会。 从手机软件的平台的种类,游戏玩家的心理,未来移动通信服务终端的发展,3G 手机 网络对手机软件游戏的影响,还有从 J2ME 手机游戏开发平台介绍的手机游戏的趋势和未 来这种游戏的运营模式,这几方面的内容来看,手机游戏是未来游戏发展的趋势,其移动 性、互连性,必定会带来网络游戏的风暴,这就使我们对这一个新兴的领域有了一定的概 念,对指导我们建立一个手机软件开发培训的知识结构有一定的帮助,也是我们的一个发 展契机。 1.1 背景 在我们的生活中有许多的游戏,但是游戏不同,它也会给玩家带来不同的感受和生活 理念。游戏是我们日常生活的一个必不可少的娱乐项目,也带动了游戏相关产业市场的发 展。游戏平台是经过从游戏机到电视游戏,然后从到 pc 游戏,到手机游戏,中间经历了 很多的技术的更新和变革。但随着新技术的发展和我们生活水平质量的提高,手机开始逐 渐变为普及,因为手机是非常小巧便捷的,而且方便的特性成为我们日常生活中必备通讯 工具。而基于手机平台的游戏也就拥有的市场空间是巨大的,也因随着 3g 的开通和应用, 手机游戏必然会迎来新的一轮游戏热潮! 1.2 课题来源 现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有 限,但是足够运行一个小型的游戏。现在的手机的一个特性就是它们还是网络计算机,能 够高速发送和接收数字数据。除了语音数据以外,它们还可以发送和接收其它类型的数据。 所以这样的网络游戏也可以在手机上实现。短信类游戏就好像“虚拟宠物”那样。短信游 戏是通过玩家和游戏服务商通过短信中的文字的内容来交流,达到进行游戏的目的的一种 文字游戏。 由于短信游戏的整个游戏过程都是通过文字来表达,造成短信游戏的娱乐性 较差。但是短信游戏却是兼容性最好的手机游戏之一。只要您的手机可以发短信,您就可 以畅快的享受短信游戏给您带来的快乐了。图形类游戏更接近我们常说的“电视游戏”, - 6 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 玩家通过动画的形式来发展情节进行游戏。由于游戏采用了更为直观且更为精美的画面直 接表现,因此图形类游戏的游戏性和代入感往往较文字类游戏高。因此广受玩家们的欢迎。 嵌入式游戏是一种将游戏程序预先固化在手机的芯片中的游戏。由于这种游戏的所有数据 都是预先固化在手机芯片中的,因此这种游戏是无法进行任何修改的。也就是说,您不能 更换其它游戏的,只能玩您手机中已经存在的娱乐游戏,而且您也不能将它们删除。手机 在网络游戏行业在多年的技术经验与运营经验的积累与总结之后,到了 2009 年迫不及待 的需要创新出新的游戏模式和崭新的运营模式来推动手机游戏市场的爆发和发展。其中比 较吸引人们的是手机的休闲类的游戏。应该可以说它是与 PC 网络游戏完全的脱离开了, 而且充分发挥了自身的优势手机终端。休闲类的游戏恰巧与之相反,只需要很少的网络流 量的网络环境,通过少量多次的游戏形式带给玩家流畅的游戏体验满足玩家瞬间提升的快 感,但是同时却很难具有长期的“沉迷”性。 本题目是基于 Android 平台开发的一个小型的程序。其实都差不多,在有 JAVA 的智 能手机上都可以运行。其实手机是我们生活中不可缺少的工具,这些小游戏可以带给我们 快乐和放松我们的心情。无论什么样手机,我想买起来的时候上面就有一些它自带的各种 小游戏,其中有一个独特的小游戏也是非常重要的。 1.3 国内外研究现状 Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。它包括操作系统、用 户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产 业创新的专有权障碍。Google 与开放手机联盟合作开发了 Android,这个联盟由包括中国 移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业 组成。Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴 关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式 的生态系统。 Android 作为谷歌企业战略的重要组成部分,将进一步推进"随时随地为每个人提供信 息"这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的, Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机 制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。 开放手机联盟的成立和 Android 的推出是对现状的重大改变,在带来初步效益之前, 还需要不小的耐心和高昂的投入。但是,我们认为全球移动用户从中能获得的潜在利益是 值得付出这些努力的。如果你也是一个开发者,并对我们的想法感兴趣,就请再给我们一 星期的时间,届时谷歌便能提供 SDK 了。如果你是一名移动用户,只需再等一段时间, 我们的一些合作伙伴计划在 2008 年下半年推出基于 Android 平台的电话产品。如果你已 - 7 -
五子棋视频教程(12 讲):http://down.51cto.com/zt/5208 经拥有一部你了解并喜爱的电话,请登录 mobile.google.com ,确保你已经安装谷歌手机 地图、Gmail 以及其他一些专为你的手机开发的精彩应用。谷歌将继续努力,让这些服务 变得更好,同时也将添加更有吸引力的特性、应用和服务。 1.4 论文主要工作 此游戏主要是采用 Android 的 View 框架编写,部分框架运用 Android 中的其他组件。 主要运用了算法来实现对棋局的分析,棋盘输赢的判定。 UI 方面:此游戏当进入游戏的界面时,调用的是一个用相对布局-AbsoluteLayout 的 XML 布局文件。其中包括了一个 IamgeView 和 4 个 Button.分别实现了不同的功能。第一 个 Button 是进入新游戏,点击按钮进入新游戏,来选择对手。第二个 Button 是帮助,用 了一个 TextView 来说明怎样来进行游戏。第三个 Button 是游戏的关于,用了一个 AlertDialog 来介绍了一下游戏的这个游戏的好处。第四个 Button 是游戏的退出按钮。在 游戏中,我用画线来不满了整个的手机屏幕,在上面用了 TextView 来进行了文字的说明 和提示。 本篇论文,主要目的是为了探讨更加深入的理解 Android,为移动终端上的游戏软件 的打造提供一个思路。 2 Android 的开发环境 本章将主要介绍如何构建 Android 开发环境,包括获取 Android SDK、Eclipse 以及 进行 Android Eclipse 插件设置等。 2.1 操作系统 目前只支持 XP(32-bit)、Vista(32/64-bit)、Mac OS X 10.4.8 或更新版本(x86)、 Linux(只在 Linux Ubuntu Dapper Drake 上面做过测试)。 系统 XP sp2/sp3 32bit 来做讲解,其他系统的可以 google 一下差异,反正都大同小 异的。 2.2 Android 开发环境 无论是官方还是我本人,都建议使用 eclipse 进行开发,当然,eclipse 版本要在 3.3 以上,这是官方说法,3.3 以下我也没测过,3.3 (Europa)、3.4 (Ganymede) 都可以,java 版本或者 EE 版本也都没问题的,可以到 eclipse 官方下载最新版本。因为开发是基于 java 的,所以 jdk 是少不了的,jdk 要求是 5.0 或者 6.0,我还是用 5.0 比较多,可以到 sun 官方下载。 - 8 -
分享到:
收藏