计算机专业本科毕业论文

更新时间:2024-05-03 04:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

学校代码:11517

学 号:201110913233

HENAN INSTITUTE OF ENGINEERING

毕业设计(论文)

题 目 基于Android平台五子棋游戏

的设计与实现

学生姓名 专业班级 学 号 系 (部) 计算机学院 指导教师(职称) 完成时间 2015 年 6 月 15 日

河南工程学院论文版权使用授权书

本人完全了解河南工程学院关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交论文的印刷本和电子版本;学校有权保存论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存论文;学校有权提供目录检索以及提供本论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版;在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。

论文作者签名:

年 月 日

河南工程学院毕业设计(论文)原创性声明

本人郑重声明:所呈交的论文,是本人在指导教师指导下,进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文的研究成果不包含任何他人创作的、已公开发表或者没有公开发表的作品的内容。对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明。本学位论文原创性声明的法律责任由本人承担。

论文作者签名:

年 月 日

毕业设计(论文)任务书

题目 基于Android 平台五子棋游戏的设计与实现 专业 学号 姓名

1.主要内容:

(1)设计并实现一个基于Android平台的五子棋游戏,用户进入游戏后,进入主界面,显示开始游戏、游戏设置、游戏介绍和退出游戏。

(2) 本系统主要包括游戏界面和游戏算法两部分。其一要求游戏界面友好美观,游戏操作简单快捷;其二要求游戏有较强的可玩性。

2.基本要求:

(1)文献综述要求:通过系统地查阅与所选课题相关的国内外文献,进行搜集、整理、加工,从而撰写的综合性叙述和评价的文章,不能简单罗列文献。

(2)在阐述所选设计(论文)题目时注意应具有一定的新颖性、先进性和创新性。 (3)所设计完成的程序或系统应运行正常,操作界面良好。

(4)论文内容要完整,立论明确,论据充分,条理清晰,分析透彻,推理严谨。 (5)必须保证论文工整、无错误,并且能够独立完成全部内容,切忌抄袭和拼凑。

3.主要参考资料:

(1)曲蕴慧. Android系统下手机游戏的设计与开发[J]. 电子科技, 2013 (6): 74-77. (2)赵海涵. 基于Android平台软件开发技术探析[J]. 电脑知识与技术, 2014 (36): 58-59. (3)苏金国.精通Android游戏开发[M]. 北京:人民邮电出版社,2010

(4)姚尚朗.Android开发入门与实战(第2版)[M]. 北京:人民邮电出版社,2013. (5)Shi Y P. The Development of Sokoban Game Based on Android System[J]. Applied

Mechanics and Materials. 2014, 610: 703-706.

完 成 期 限: 2015年1月-2015年6月 指导教师签名: 专业负责人签名:

年 月 日

基于Android平台五子棋游戏的设计与实现

目 录

摘要 ....................................................................................................................................... I ABSTRACT ....................................................................................................................... II 1 绪论 ............................................................................................................................... 1

1.1 课题的选题背景 ............................................................................................ 1 1.2 课题的目的和意义 ....................................................................................... 2 1.3 课题的研究的主要目标和内容 ................................................................ 2 1.4 系统开发环境及相关技术 ......................................................................... 2

1.4.1 Android 简介 ............................................................................................ 2 1.4.2 Eclipse 简介 ............................................................................................. 3 1.4.3 Java简介 ................................................................................................... 4 1.4.4 JDK简介 ................................................................................................... 5 1.4.5 Android SDK Tools简介 .................................................................... 6 1.4.6 MVC框架 ................................................................................................. 6

1.5 系统开发平台及运行环境配置 ................................................................ 7

1.5.1 系统开发平台 ........................................................................................... 7 1.5.2 系统开发环境配置 ................................................................................... 7

2 系统的可行性分析 ................................................................................................. 12

2.1 经济可行性分析 .......................................................................................... 12 2.2 技术可行性分析 .......................................................................................... 12 2.3 操作可行性分析 .......................................................................................... 12 3 需求分析 ................................................................................................................... 13

3.1 系统的功能模块的概述和分析 .............................................................. 13

基于Android平台五子棋游戏的设计与实现

3.2 系统功能模块设计 ..................................................................................... 13

3.2.1 系统组成 ................................................................................................. 13 3.2.2 子模块设计 ............................................................................................. 13

4 系统实现 ................................................................................................................... 15

4.1 开发工程概述 .............................................................................................. 15 4.2 开始界面实现过程 ..................................................................................... 16 4.3 对弈界面实现过程 ..................................................................................... 17

4.3.1 棋盘实现 ................................................................................................. 17 4.3.2 落子实现 ................................................................................................. 19 4.3.3 判断胜负 ................................................................................................. 20 4.3.4 重新开始 ................................................................................................. 23 4.3.5 棋子类 ..................................................................................................... 25 4.3.6 辅助评分类 ............................................................................................. 25 4.3.7 开始控制类 ............................................................................................. 26 4.3.8 主要交互类 ............................................................................................. 26

5 系统测试 ................................................................................................................... 28

5.1 软件测试 ........................................................................................................ 28

5.1.1 软件测试简介 ......................................................................................... 28 5.1.2 软件测试原则 ......................................................................................... 28 5.1.3 软件测试目标 ......................................................................................... 29 5.1.4 软件测试过程 ......................................................................................... 29 5.1.5 测试步骤 ................................................................................................. 30

5.2 测试方法 ........................................................................................................ 30

5.2.1 白盒测试 ................................................................................................. 30 5.2.2 黑盒测试 ................................................................................................. 30

基于Android平台五子棋游戏的设计与实现

5.3 测试结论 ........................................................................................................ 30 结束语 ............................................................................................................................... 32 致谢 .................................................................................................................................... 33 参考文献 .......................................................................................................................... 34

基于Android平台五子棋游戏的设计与实现

基于Android平台五子棋游戏

的设计与实现

摘 要

随着移动互联时代的到来以及智能手机的普及,人们的生活娱乐方式也跟着时代的脚步逐渐向移动端发展。Android 平台凭借其开放性及稳定性吸引了大量的用户和开发者,称为了目前用户最多、发展最快的移动终端操作系统。本文着重于研究基于Android操作系统的手机游戏,拟将中国传统的现实类小游戏五子棋迁移到移动端。通过对该五子棋游戏的设计与开发,进一步的了解Android操作系统。本游戏有三个模块,分别是游戏开始界面,游戏运行界面和游戏结束选择界面,分别实现游戏的各个功能。由于Java语言能更好的兼容Android操作系统,本文采用Java语言进行开发,配合Eclipse开发工具,开发出功能完善,界面美观的五子棋游戏。

本次基于Android的五子棋游戏采用了MVC框架模式,将业务逻辑,数据,界面显示分离开来,把五子棋的核心算法即业务逻辑聚集到一起,使界面和用户交互聚集在一起,降低代码耦合度,提高了程序设计的效率。

关键词 五子棋游戏;Android ;MVC框架模式

I

基于Android平台五子棋游戏的设计与实现

THE DESIGN AND IMPLEMENT OF GOBANG GAME BASED ON ANDROID

ABSTRACT

With the development of the mobile Internet and the popularity of smart phones, the entertainment of people has changed to mobile terminals gradually. Android platform has attracted a lot of users and developers with its openness and stability. It become the mobile terminal operating system that be faster developed and has most users right now. This thesis mainly studies the games based on Android and describes how to design GoBang Game running on Android. This game includes three modules: Start Game, Operation and End Game. As Java has better compatibility with Android, here we use Java as the developing language. By using Eclipse, this game has better function and beautiful interface.

In the game design, we use MVC model to it isolate the user interface, data and service logic from the soft. And this model can bring the core algorithm and the interface together, reduce the code coupling and improve the efficiency of the program design.

KEYWORDS GoBang Game, Android, MVC Model

II

基于Android平台五子棋游戏的设计与实现

1 绪论

1.1 课题的选题背景

随着移动互联时代的到来,智能手机已经成为人们生活中必不可少的一种通讯工具。智能手机的发展之路迅速而快捷,其发展状况可谓是日新月异。在如此快速前行的路上,应运而生的Android操作系统仅经过几年的发展,就已经占据了很大市场[1]。

Android系统的普及促使越来越多的开发人员投入Android开发之中。但早期Android刚推出时,许多大的游戏厂商却对它望而却步。持这种观望态度的主要原因就是Android版本更新的速度太快,兼容性存在问题。但这种情况在2010年以后得到解决,随着Android版本的稳定以及游戏产业的蓬勃发展,大牌厂商开始进入Android平台,为带来了高端的游戏体验。同时,三星、索尼也正在积极的研发基于Android平台的游戏手机,这一切都标志着Android游戏的春天来临。

事实证明,对这种种迹象的预测是正确的。五年过后的现在,各种游戏公司开始就Android游戏展开布局,手机游戏再次以其便携性成为人们喜欢的休闲活动,成功地挑战了传统PC端游戏,成为当前游戏发展的主力。国际上有Gameloft、Gamevil、EA等公司着手研发;国内除了老牌的传统游戏公司,像腾讯,完美世界,盛大等,还新生了一批专业研发移动端游的公司,像顽石互动,触控科技等。Android平台以其优越性成功的吸引了众多游戏公司及独立开发者的青睐。

在Android游戏风靡世界的征途上,许多经典游戏都做出了卓越的贡献。《愤怒的小鸟》、《水果忍者》、《找你妹》、《神庙逃亡》、《捕鱼达人》等等,这些耳熟能详的游戏名字在Android游戏发展史上留下了浓墨重彩的一笔。

与此同时,随着高通、英伟达等硬件厂商对Android游戏市场的关注,以及OpenGL对Android渲染优化的支持,Android游戏的品质也因为发展平台的扩充而越来越显上乘化。画质细腻,场景唯美的大型3D手机游戏也陆续出现[2]。先是由Trendy Entertainment公司用虚幻3引擎开发的《地牢守护者》横空出世,在当年的Android手游中大放异彩。后来又陆续出现《细胞分裂5》、《刺客信条》、《地牢猎手》、《FIFA 10》、《阿凡达》、《天下HD》等基于Android的高品质3D手游。这一切的发展都见证着Android游戏的蓬勃生命力[3]。

1

基于Android平台五子棋游戏的设计与实现

1.2 课题的目的和意义

随着现代生活节奏的加快,越来越多的人感觉到生活的压力,对一成不变的生活方式感到烦闷,因此需要一些调节来暂缓节奏,舒缓心情。本设计通过开发基于Android平台的五子棋游戏,实现不同难度的人机对弈,能够达到休闲的目的。在休闲之余还能益智,给快节奏的生活带来一些乐趣。由于五子棋的策略性,可以有效地锻炼思维严密程度,训练逻辑及思维延展性,一举两得。

五子棋游戏看似简单,但开发过程中用到的搜索算法却与人工智能运算相关。人工智能是当前计算机发展的前沿学科,研究的是使用各种算法使机器能够像人一样听说读写,甚至是思考。而本次五子棋游戏的开发使用的搜索算法属于人工智能学科中的博弈分支,它通过推理技术和搜索方法来实现电脑AI,通过对这些算法的使用,本游戏实现了人机对弈,在博弈过程中,可以发现智能模拟的不足,促进对智能算法的进一步研究,因此本课题有一定的学术意义。

1.3 课题的研究的主要目标和内容

本设计的主要目标是设计与实现基于Android平台的五子棋游戏。该游戏用该实现:用户打开应用后,进入主界面,显示开始游戏、游戏设置和帮助。主要可分为欢迎模块、游戏模块和退出模块。以人机对弈为游戏主体,实现人与电脑AI的对弈。电脑与玩家各执黑子白子,轮流下棋。直到有一方连成五子即为赢棋,游戏结束。在进行游戏的同时,会播放背景音乐。

1.4 系统开发环境及相关技术

1.4.1 Android 简介

Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由Google开发,后由开放手持设备联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能;其他的应用软件则由各公司自行开发,部分程序以Java编写。

2

基于Android平台五子棋游戏的设计与实现

Android的系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

Android开发四大组件分别是:活动(Activity): 用于表现功能。服务(Service): 后台运行服务,不提供界面呈现。广播接收器(BroadcastReceiver):用于接收广播。内容提供商(Content Provider): 支持在多个应用中存储和读取数据,相当于数据库[4]。

1.4.2 Eclipse 简介

Eclipse是一个开放源代码的、基于 Java 的可扩展开发平台,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。Eclipse只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版;2011年6月发布代号为Indigo的3.7版;2012年6月发布代号为Juno的4.2版;2013年6月发布代号为Kepler的4.3版;2014年6月发布代号为Luna的4.4版;2015年6月项目要发布代号为Mars的4.5版。

Eclipse是著名的跨平台的自由集成开发环境(IDE),最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse原本只是一个框架平台,提供插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,允许构

3

基于Android平台五子棋游戏的设计与实现

建与 Eclipse 环境无缝集成的工具,众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。Eclipse中的每样东西都是插件,Eclipse 提供插件,为用户提供一致和统一的集成开发环境,使所有的工具开发人员都具有同等的发挥场所。

Eclipse主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独立开发与他人工具无缝集成的工具。 Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。

Eclipse项目具有3个子项目,分别为平台,开发工具箱,外部插件开发环境。这些子项目又细分成更多子项目。例如平台子项目包含数个组件,如Compare、Help与Search。JDT子项目包括三个组件:User Interface(UI)、核心(Core)及排错(Debug)。

1.4.3 Java简介

Java是由Sun Microsystems公司在1995年正式推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发。Java最初被称为Oak,是1991年为消费类电子产品的嵌入式芯片而设计的。1995年更名为Java,并重新设计用于开发Internet应用程序。

SUN的工程师敏锐地察觉到HTML文档的死板将Web变成了一潭死水,这对于那些痴迷于Web浏览器的人来说是致命的,他们迫切的想通过Web进行交互。于是从1994年起,SUN工程师们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本,从此Java开始风靡。一方面,Java被广泛接受并推动了Web的迅速发展,常用的浏览器均支持Javaapplet。另一方面,Java技术也不断更新。Java自面

4

基于Android平台五子棋游戏的设计与实现

世后就非常流行,发展迅速。在全球云计算和移动互联网的产业环境下,Java具备了显著优势和广阔前景。

Java由四个部分组成“Java编程语言,Java文件格式,Java虚拟机,Java应用程序接口。其中,Java虚拟机是Java语言能够跨平台的保证,JDK也是非常重要的开发工具。Java主要分为三个体系,分别是标准版的Java SE,企业版的Java EE和微型版的Java ME。

Java语言之所以能够对C++语言造成很大的冲击,除了它的跨平台之外,还因为它是一种简单的面对对象的编程语言。它以其安全,结构中立,可移植性得到编程人员的青睐。另外一个原因就是Java平台内嵌的API能缩短应用系统的开发周期并降低成本,其各种组件形成了一个独特的组件体系结构,它独立于平台,并与各个开源框架配合发展,这一切特性都推动了Java的迅猛发展。

1.4.4 JDK简介

JDK(Java Development Kit)是Java开发工具的简称。在前面已经提到过它,但在安装并配置它以前,需要更加深入地了解它。它是由Sun公司针对Java开发人员发布的免费软件开发工具包。自从Java推出以来,JDK已经成为使用最广泛的一套Java开发工具。2006年,Sun公司宣布将要发布基于GPL协议的开源JDK,这个决定使JDK成为开源软件。在此基础之上,Sun公司最终促成了GPL协议的OpenJDK的发布。

JDK中包括很多开发、调试Java程序的工具。javac:即为 Java编译器。用来将写好的后缀名为.java的源代码文件逐个编译成后缀名为.class的字节码文件。这是Java开发中必不可少的一个程序,开发过程中用的最多的程序之一。

java:它是Java字节码的解释程序。它可以解释并执行后缀名为.class的字节码文件,前面由javac编译好的程序就是由它来执行的。事实上,无论是用控制台编译还是用Eclipse, Java程序最终都是由这个程序来解释并执行的。

jdb:它的全名为:java debugger,是用来调试Java程序代码的。

javadoc:这是一个自动生成文档的工具,它可以把Java源代码中的注释语句自动整理成文档。

5

基于Android平台五子棋游戏的设计与实现

jar:打包工具,Java的字节码文件是以后缀.class结尾的,当程序文件少的时候容易管理,可是随着程序规模的增大,它的文件也会相应增多。为了方便管理,Java提供了将类文件进行合并的jar工具。它可以把许多功能相关的类文件合并为一个后缀为.jar的文件,减少了文件数量,使类文件的管理变得更为有序。

JDK并不是只有一个版本,各公司推出的JDK在某些地方略有不同。不过,这些不同并不会程序本身的运行造成什么影响,它们差别只在性能以及平台上而已。

除Sun推出的官方JDK以外,其他公司的JDK主要有下面几个:

基于GNU的开源JDK--GCJ(The GNU Compiler for Java),可用在Linux系统上。

IBM公司的J9 JDK,可用在AIX、Linux、Windows等主流系统上。 Oracle公司推出的JRockit JDK,适用于Windows、Linux及Solaris系统。

1.4.5 Android SDK Tools简介

Android SDK(software development kit)Android软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合[6]。

Android SDK Tools是Android专属的软件开发工具包,其中包括Android模拟器,用于在计算机上虚拟移动设备,进行设计和调试程序。若想在Eclipse中开发Android应用,Android SDK Tools必不可少[7]。

1.4.6 MVC框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

(1) 模型(Model):表示程序运行的核心; (2) 视图(View):显示数据; (3) 控制器(Controller):处理数据。

6

基于Android平台五子棋游戏的设计与实现

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC的应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

1.5 系统开发平台及运行环境配置

1.5.1 系统开发平台

(1) 系统开发环境及工具 操作系统:Win7 开发工具:Eclipse (2) 运行环境

操作系统:Android 2.2及以上版本。

1.5.2 系统开发环境配置

1.5.2.1 JDK配置

首先需要到Oracle官方网站下载开发所需的JDK,也就是Java开发环境。 下载完毕后解压到一个文件目录下,记住这个目录,配置变量时要用到这个目录。本机的目录是:C:\\Program Files\\Java\\jdk1.7.0_67

然后右键点击计算机→属性→系统属性设置→高级→环境变量,如图1.1:

7

基于Android平台五子棋游戏的设计与实现

图 1.1 环境变量

找到系统变量,新建一个JAVA_HOME变量,填写变量值为JDK的安装目录。 在系统变量中寻找PATH变量,选择编辑,在PATH下方变量值文本框中输入 ;%JAVA_HOME%\\bin;%JAVA_HOME%\\jre\\bin;(前面的分号不能省略,如果原来PATH变量末尾值有分号,则不用输入。)

图 1.2 PATH设置

在系统变量中新建CLASSPATH变量,此处变量值文本框中则需要填写上 .;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar(注意最前面有一点)。

检验是否配置成功,运行cmd输入java-version ,若显示如图,则证明配置成功

8

基于Android平台五子棋游戏的设计与实现

图 1.3 检测配置

1.5.2.2 Android SDK配置

打开Eclipse,点击菜单Window→preferences进入首选项设置界面:

图 1.4 路径选择

在Loaction选项填上Android SDK的安装目录。点击OK后就可进入安装界面了,这个安装和更新的过程需要持续一段时间,静静等待即可[8]。

安装成功后,就可以设置虚拟机来调试程序了。 1.5.2.3 Eclipse配置

打开Eclipse,在菜单栏选择help→Install NewSoftWare,出现对话框:

9

基于Android平台五子棋游戏的设计与实现

图 1.5 添加环境工具

点击Add按钮,名字写为Android,输入https://dl-ssl.google.com/android/eclipse/,点

击Next将出现界面如下:

图 1.6 选择工具

10

基于Android平台五子棋游戏的设计与实现

然后直接点击Next,而后一直点击确定,就可以到安装插件的页面,然后重新启动Eclipse,就可以进行正常的Android Application开发了[9] [10]。 1.5.2.4 虚拟设备配置

安装过工具后,即可在虚拟设备上进行测试。选中项目文件,右键Run As ,选择虚拟设备[11]。若果没有的话,需要创建一个。选择完成后,将会出现虚拟机界面,Android程序便可直接在PC端运行了:

图 1.7 虚拟设备

11

基于Android平台五子棋游戏的设计与实现

2 系统的可行性分析

2.1 经济可行性分析

本游戏使用开源的Eclipse工具及Java语言编写,所用到的JDK和Android SDK 等相关工具均属于免费,可在相关网站上直接下载。与本课题有关的参考资料可由网上查阅或到图书馆查阅。开发过程中,除了测试需要人力外,整个软件开发过程仅需一人,不需消耗过多人力资源。资金方面除了网上查阅电子文档需要交纳极少的费用外,几乎没有其它支出。综上所述,本次软件开发成本是比较低的,从经济上讲完全是可行的[5]。

2.2 技术可行性分析

技术可行性分析需要考虑很多因素,主要从技术方面对本软件的开发做一个详细的分析。包括软件开发的相应技术,硬件级别和开发环境版本等。

目前拥有的技术足以完成本次软件开发,硬件级别与软件版本也能够跟的上开发的需要,开发环境也足以支撑本次程序的开发、调试及运行。本游戏采用Java语言开发,Windows 7操作系统,Eclipse工具。三者结合使本次游戏开发具有很多优势,比如运行迅速,内存占用低等。所以,在技术方面完全可以达到要求。

2.3 操作可行性分析

就开发者而言,由于本次五子棋游戏重点实现人机对弈功能,相关核心算法使用剪枝算法对棋盘进行搜索,得到最优解,而后决定落子地方。电脑AI十分智能,使用搜索算法可以达到很高的智商,能够使玩家有一种棋逢对手的感觉。并且能在下棋的过程中提高玩家的下棋水平。

对玩家而言,本游戏操作简单易懂,容易上手。点击开始游戏后直接进入游戏界面开始轮流下子,双方有任意一方连成五子,本局游戏结束。弹出对话框选择重新游戏还是返回主界面。

12

基于Android平台五子棋游戏的设计与实现

3 需求分析

3.1 系统的功能模块的概述和分析

基于Android平台的五子棋游戏设计框架采用了MVC模式,将业务逻辑,数据和界面显示分离开,可以理清开发思路,缩短开发周期。

本游戏的目的就是开发出可在Android平台运行的五子棋游戏,用户进入界面后,可以选择开始游戏,游戏设置和帮助三个按钮。点击开始游戏直接进行人机对弈,点击游戏设置,则可以选择难度,点击帮助按钮,则可以显示游戏规则,开发者信息等。

该游戏功能完善,具有良好清新的界面,可以给用户带来不错的游戏体验。

3.2 系统功能模块设计

3.2.1 系统组成

本系统分为三大块,分别是开始游戏,游戏设置,和帮助。 根据系统功能分析,可以画出系统的功能模块图3.1所示:

图3.1 主界面模块图 五子棋游戏 开始游戏游戏设置帮助

3.2.2 子模块设计

对弈模块:该模块描述了人机对弈的设计流程,直接的显示出了本游戏的主题逻辑。

13

基于Android平台五子棋游戏的设计与实现

重新开始 开始游戏 人机对弈 胜负

回主界面 图3.2 对弈流程图

14

基于Android平台五子棋游戏的设计与实现

4 系统实现

4.1 开发工程概述

在Eclipse中建立Android工程,并为之命名为Five1.0,本工程中共有八个类,分别实现不同功能,如图,其中:

ChessStatus类是用来定义一个枚举类型,放置棋盘落子点状态的。 ChessType类是用来存放棋子类型的类。 ComputerPlayer类是用来控制电脑AI的类。 GameView类是用来显示游戏视图的类。 MainActivity类是该工程的主活动类。

ScoreTable类是计分板,用来辅助电脑AI进行落子判定。 Screen类用来控制控制屏幕比例的类。 StartActivity类是游戏开始的起始类。

图4.1 系统类图

15

基于Android平台五子棋游戏的设计与实现

4.2 开始界面实现过程

启动游戏,进入程序的主界面,在游戏的主界面中可以通过点击不同的按钮选择相应的功能,一下是游戏主界面显示:

图4.2 开始界面

实现开始界面的主要代码如下:

android:layout_width=\ android:layout_height=\ android:layout_alignParentLeft=\ android:layout_alignParentTop=\ android:background=\

android:id=\ android:layout_width=\ android:layout_height=\ android:layout_alignParentTop=\ android:layout_centerHorizontal=\ android:layout_marginTop=\ android:text=\黑白五子棋\

android:textAppearance=\ android:textColor=\

Top