本科毕业论文-—基于android的中国象棋的设计与实现.doc
《本科毕业论文-—基于android的中国象棋的设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业论文-—基于android的中国象棋的设计与实现.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实 训 报 告实训项目名称基于Android象棋游戏的开发与测试二 级 学 院 信息工程学院 专 业 班 级 11级计科(2)班 姓 名 完圆圆、李城城、孙超、胡迪 学 号 1142151221、14、20、08 日 期 2014-11-19 项目名称基于安卓象棋游戏的开发与测试地点教13 603报 告 内 容在本报告中,首先介绍了安卓的现状以及开发的相关知识,其次是关于开发游戏过程中用到的开发工具和系统的运行环境配置等。通过对Android系统架构和应用开发进行初步研究,设计一款中国象棋游戏。在对系统进行详细需求分析的基础上,确定了系统的功能和性能要求,对游戏的菜单界面、屏幕绘制、时间控制、
2、布局算法和动画等进行了设计,并最终实现了一个界面友好、高效稳定和富有娱乐性的手机益智游戏。最后,实现的是对本次游戏的测试并列举了测试用列以及给出了测试结果。教师评语成绩: 教师签名: 摘 要 中国象棋是一款智力休闲游戏,具有历史悠久而且拥有巨大的游戏爱好者群体,他们以中国象棋陶冶情操、锻炼智力、体验象棋带来的快乐,中国象棋还是一个老少皆宜的娱乐游戏。随着手持设备、智能手机的普及,搭载Android操作系统的智能手机也已经走进了千家万户,当人们闲暇偶尔需要娱乐时,却发现没有实物象棋,该软件不失为一个很好的替代品,供大家进行娱乐享受,尤其是在现在这个快节奏的社会中 ,人们更满足于手机的使用,可以方
3、便地随意移动,不像实物象棋那样静静的坐着。 本论文通过实际应用软件的开发深入分析和研究Android开发技术。实现中国象棋的人机会话。本文实现了中国象棋在计算机中表示问题,基于Android平台应用,人机对战模拟现实中的人人对战;讨论走棋规则和着法的实现等一系列问题,最终电脑能够通过产生着法,搜索,估计来产生一步最优的走棋,实现人机会话的目的。关键字:中国象棋,Android,智能手机,人机对战目录1 绪论11.1 研究背景11.2 本论文研究意义32 游戏系统开发平台及搭建42.1 JDK和 Eclipse:42.2 Android SDK42.3 ADT53 系统分析63.1 可行性研究6
4、3.2 界面的需求分析63.3 游戏走棋需求设计分析64 游戏系统的设计与实现74.1 类框架的设计74.2 共有类ChessActivity的实现84.3 辅助界面相关类的实现84.4 游戏界面相关类的实现94.5 中国象棋的规则及走法的实现104.6 游戏人机对战的实现184.7 系统流程图195 运行测试205.1 测试用例表205.2 测试结果206 小结23参考文献24附录:251 绪论1.1 研究背景(1) 中国象棋背景中国象棋发展至今已有两千三、四百年的历史,早在战国时期就有正式的记载,堪称中国的国粹。中国象棋具有悠久的历史,深的人们的喜爱,象棋的爱好者也更是数不胜数,远在战国中
5、国象棋便在贵族阶层广为流传,早期的象棋是象征着当时战斗场面的游戏,后来这种观念慢慢被改变,经过千年的流传不断的完善和改进,成为人们休闲娱乐、锻炼脑力思维不可获取的好方式。中国象棋体现的是一种策略,方寸之间包含天地玄机,人生哲理,使人越是细玩越觉其味悠然深远。由于简单的行棋规则,趣味性强,便捷的载体,使得象棋成为雅俗共赏的竞技项目。因此,也成为流行极为广泛的棋艺活动。是我国正式开展的78个体育项目之一,为促进该项目在世界范围内的普及和推广,在中国古代,象棋被列为士大夫们的修身之艺,现在则被视为怡神益智的一种有益的活动。有着数以亿计的爱好者。它不仅能丰富文化生活,陶冶情操,在棋战中,人们可以从攻与
6、防、虚与实、整体与局部等复杂关系的变化中悟出某种哲理;更有助于开发智力,启迪思维,锻炼辨证分析能力和培养顽强的意志。(2) Android系统简介Android 系统构架简介:Android是一个基于LinuxV2.6内核的交互性操作环境,同时它也是一个分层系统,Android系统架构显示如下图1.1。图1.1系统架构图 应用层由所有的Android应用程序组成。其中包括电子邮件客户端,SMS程序,地图,浏览器,联系人及其他。所有的应用程序都是用Java编程语言编写的。 应用框架层定义了Android应用程序框架。所有的Android应用程序都是基于应用框架的。Android应用框架包括:l
7、丰富及可扩展性的视图,可以用来建立一个美观的用户界面,包括列表,网格,文本框,按钮,甚至是嵌入到Web浏览器的应用程序。 l 一组内容提供商,使应用程序能够访问其他应用程序的数据(如电话簿),或共享自己的数据。l 资源管理器提供了访问的非编码资源的途径,如本地化的字符串,图形,布局文件。l 通知管理器允许所有应用程序显示定制的提示或通知在状态栏里。l 活动管理器可以管理应用程序的生命周期,并提供一个通用的后台堆栈导航。 库层包括了一套被各类Android 系统组件使用的C / C + +库并对应用程序框架提供支持。 Android 的运行环境包括一套核心库和 Java 虚拟机(Dalvik虚拟
8、机),已经由谷歌重新设计和优化来适合Android平台。 Linux 内核位于 Android 系统的底层并作为硬件和软件之间的一个抽象层。它提供了核心系统服务,如安全,内存管理,进程管理,网络协议栈和驱动模型。此外,一些底层功能如 Dalvik 虚拟机线程管理也依赖于Linux内核。1.2 本论文研究意义 中国象棋是一项智力和策略的游戏,以往都是人和人下棋,现在有了计算机我们可以和计算机竞技,人可以与计算机进行对弈。控制计算机的是人类,而人机会话综合性很强的一门边缘学科,它的中心任务是研究使计算机如何去做那些过去只能靠人的智力才能做的工作。因此,对游戏开发过程中的人工智能技术的研究自然也就成
9、了业界的一个热门研究方向。 本次论文的研究,主要是对中国象棋在Android系统中的兼容行性,对游戏界面可观性,游戏中人机会话的研究。对于游戏中的人机会话的要点:a 某种在及其上表示棋局的方法,让程序知道会话的状态;b 产生合法的走棋法则,使得会话双方公正,并可以判断人类对手是否乱走;c 从所有和法定的走法中选择最佳的走法的技术;d 一种评估局面优化的方法,同上面技术配合做出智能选择;e 一个实现游戏的界面;通过对游戏的设计,来实现游戏中棋牌的表示,着法的生成,对着法的搜索,最后对局面的评估来实现中国象棋的人机会话。2 游戏系统开发平台及搭建2.1 JDK和 Eclipse:JDK是Sun公司
10、针对java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的java SDK。JDK是整个java的核心。包括运行环境Java工具和Java基础类库。JDK是学好Java的第一步。安装Eclipse的开发环境需要JDK的支持,如果没有JDK,则启动Eclipse时会报告错误。在windows上安装JDK非常简单首先在Sun官网上下载,按照默认路径进行安装。安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:图 2.1 JDK测试Eclipse如果你还没有Eclipse的话,从官网上下载E
11、clipse IDE for Java Developers解压之后即可使用。2.2 Android SDKAndroidSDK 提供了在 windows 平台上的开发安卓应用程序的开发组件,也就是说,不论读者使用什么样的平台都可以开发出安卓平台的应用软件,其中包含了安卓平台上开发移动应用的各种工具集。它不仅包括了安卓模拟器和用于Eclipse的安卓开发工具插件(ADT),而且包括了各种用来调试,打包盒在模拟器上安装应用的工具。安卓主要是以 java 语言为基础,用户可以使用 java 语言来开发 安卓平台上的软件应用。通过SDK提供的一些工具将其打包成安卓平台使用的apk文件,然后在使用SD
12、K中的模拟器(Emulator)来模拟和测试软件在安卓平台运行情况和效果。安装安卓的SDK,安装好JDK和Eclipse后,打开Eclipse IDE。依次单击Menu项中的windows-Android SDK Manager项,进入Android SDK Manager界面选择Tool和需要的Android版本项进行更新安装。2.3 ADTAndroid为Eclipse定制了一个插件,及ADT(Android Development Tools),目的是为用户提供一个强大的综合环境用于开发Android应用程序,ADT扩展了Eclipse的功能,可以让用户快速的建立Android项目,创建
13、应用程序界面,在基于Android API的基础上添加组件,以及用SDK工具集调试应用程序,甚至导出签名(或未签名)的APKs以便发行应用程序。安装Android Development Tool plug-in,打开 Eclipse IDE。依次单击Menu项中的Help-Software Update项3 系统分析3.1 可行性研究本次实训的题目是:基于Android象棋游戏的开发与测试;主要是在基于Android平台开发一个手持设备应用游戏,使得游戏具有兼容性和人机对战;并对整个系统分析,设计过程给出一个论证。中国象棋游戏是棋牌类游戏,体现的是一种策略。对于行棋走棋不同的棋子有不同走棋规
14、则,走棋都必须按照走棋规则要求,双方轮换走棋,吃子,将军。本游戏设计无疑是模拟现实人人博弈,虚拟的替换了真实的棋子棋盘,由人来和电脑直接对弈;在一个人闲暇时也可以体验博弈的乐趣。该应用游戏的设计主要从以下几方面做起:系统流程分析、系统的功能设计、系统的数据结构设计。做好这些工作需要对Android开发平台了解,并搭建平台;深入了解数据结构、Android应用程序以及各种组件(API)库函数。3.2 界面的需求分析 通过以往手持设备游戏的体验,和用户对中国象棋游戏需求逻辑,游戏的功能以及操作方法把整个设计划分成单元;先是运行游戏,进入欢迎游戏界面,随后单击欢迎界面的图片进入菜单界面,在菜单中可以
15、点击“打开声音”/“关闭声音”按钮来控制声音开关,单击“帮助”菜单可以进入帮助界面显示游戏操作方法,而在菜单界面单击“开始游戏”菜单将进入游戏主界面开始游戏,在游戏界面玩家可以通过单击自己的棋子按照行棋规则来走棋,同时可以单击声音按钮打开关闭声音,当游戏一方的“将”或者敌方的“帅”被吃掉是,会出现游戏失败或游戏胜利的界面,在游戏过程中玩家可以随时通过单击“退出”按钮返回到游戏主菜单,主菜单中还可以点击“退出游戏”结束关闭游戏。3.3 游戏走棋需求设计分析进入游戏界面,游戏提示当前走棋为“帅”或者“将”,双方各走一着,直至分出胜负或者直接点击退出结束游戏,轮到走棋的一方,将某个棋子从一个交叉点走
16、到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走一着,双方各走一着即一个回合,吃子时,任何棋子走动,如果目标位置上有对方的棋子,就可以把对方的棋子拿出棋盘,即屏幕上消失在显示自己的棋子。玩家走完棋后电脑相对应搜索出自己相对应的走法。程序需要让计算机在轮到它走子的时候能够执行一步它认为最有利的着法,而不是乱走;那么它就要有在诸多可供选择的着法,提供所有候选着法的列表就是着法生成器所要完成的。之后用搜索函数来搜索列表,并用局面评估函数逐一打分,最后就可以选择出最佳着法并执行。4 游戏系统的设计与实现4.1 类框架的设计通过对中国象棋游戏的了解,对基于Android技术的中国象棋人机对弈游戏
17、的需求分析,游戏实现的理解并结合自己对知识点所掌握的程度;对中国象棋游戏总体设计,主要由三个类组成:共有类,辅助界面相关类,游戏界面相关类。共有类是Activity的实现类ChessActivity,该类是通过扩展基类Activity得到的,是整个游戏的控制器,也是整个游戏程序的入口;辅助界面相关类由WelcomeView欢迎界面类(该类为游戏欢迎界面的实现类,主要负责欢迎界面的绘制工作),HelpView帮助界面类(该类为帮助界面的实现类),MenuView菜单界面类(该类为菜单界面的实现类,负责绘制菜单界面以及对菜单界面的屏幕进行监听)三个类实现;游戏界面相关类由GameView游戏界面类
18、(该类为游戏程序中最主要的类,负责绘制游戏过程中所有的信息,如棋盘、棋子、各个按钮以及胜利或失败菜单等),GuiZe象棋规则类(该类是象棋规则的实现类,其中包含所有棋子的走棋规则以及当前棋牌所有可能走法),ChessMove走法类(该类为棋子的走法的封装类,包括棋子的名称,出发点以及目标点)。之间关系如图4.1所示:图4.1游戏类图4.2 共有类ChessActivity的实现该类的主要作用是通过接受Handler消息变量,根据各个界面发送的Handler消息的类型判断所需要执行的操作。在适当的时间初始化相应的用户界面,各个界面初始化方法被调用时,并根据其他界面的需求直接将用户界面切换到相应的
19、界面4.3 辅助界面相关类的实现该游戏的第一个用户界面即欢迎界面如图4.2所示,通过WelcomeView类来实现该界面加载了一个欢迎中国象棋图片,并通过监听菜单图片,向Activity发送Handler消息通知控制器切换用户界面;然后切换到菜单界面MenuView。图 4.2 游戏欢迎界面 MenuView类中通过监听“开始游戏”切换到游戏界面;通过监听“打开声音”/“关闭声音”进行声音的打开与关闭,与此同时“打开声音”、“关闭声音”按钮进行切换;通过监听“帮助”来切换都帮助界面;通过监听“退出游戏”结束游戏用行退出游戏。帮助界面HelpView,该类中加载图片,图片中显示该游戏“怎么玩”同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科毕业 论文 基于 android 中国象棋 设计 实现
限制150内