当前位置:首页 > 基于Android技术的中国象棋人机对弈游戏的设计与实现
基于Android技术的中国象棋人机对弈游戏的设计与实现
1 绪论
1.1 研究背景
1.1.1中国象棋背景
中国象棋发展至今已有两千三、四百年的历史,早在战国时期就有正式的记载,堪称中国的国粹。中国象棋具有悠久的历史,深的人们的喜爱,象棋的爱好者也更是数不胜数,远在战国中国象棋便在贵族阶层广为流传,早期的象棋是象征着当时战斗场面的游戏,后来这种观念慢慢被改变,经过千年的流传不断的完善和改进,成为人们休闲娱乐、锻炼脑力思维不可获取的好方式。
中国象棋体现的是一种策略,方寸之间包含天地玄机,人生哲理,使人越是细玩越觉其味悠然深远。由于简单的行棋规则,趣味性强,便捷的载体,使得象棋成为雅俗共赏的竞技项目。因此,也成为流行极为广泛的棋艺活动。是我国正式开展的78个体育项目之一,为促进该项目在世界范围内的普及和推广,在中国古代,象棋被列为士大夫们的修身之艺,现在则被视为怡神益智的一种有益的活动。有着数以亿计的爱好者。它不仅能丰富文化生活,陶冶情操,在棋战中,人们可以从攻与防、虚与实、整体与局部等复杂关系的变化中悟出某种哲理;更有助于开发智力,启迪思维,锻炼辨证分析能力和培养顽强的意志。
象棋是中华民族的传统文化,不仅在国内深受群众喜爱,而且流传国外。 1.1.2 Android系统简介
Android 系统构架简介:
Android是一个基于Linux?V2.6内核的交互性操作环境,同时它也是一个分层系统,Android系统架构显示如下图1.1。
1
基于Android技术的中国象棋人机对弈游戏的设计与实现
图 1.1 Android系统构架图
地图,浏览器,联系人及其他。所有的应用程序都是用Java编程语言编写的。
应用层由所有的Android应用程序组成。其中包括电子邮件客户端,SMS程序,
应用框架层定义了Android应用程序框架。所有的Android应用程序都是基于应用框架的。Android应用框架包括:
? 丰富及可扩展性的视图,可以用来建立一个美观的用户界面,包括列表,
网格,文本框,按钮,甚至是嵌入到Web浏览器的应用程序。 ? 一组内容提供商,使应用程序能够访问其他应用程序的数据(如电话簿),
或共享自己的数据。
? 资源管理器提供了访问的非编码资源的途径,如本地化的字符串,图形,
布局文件。
? 通知管理器允许所有应用程序显示定制的提示或通知在状态栏里。 ? 活动管理器可以管理应用程序的生命周期,并提供一个通用的后台堆栈
导航。
库层包括了一套被各类Android 系统组件使用的C / C + +库并对应用程序框架提供支持。
Android 的运行环境包括一套核心库和 Java 虚拟机(Dalvik虚拟机),已经
2
基于Android技术的中国象棋人机对弈游戏的设计与实现
由谷歌重新设计和优化来适合Android平台。
Linux 内核位于 Android 系统的底层并作为硬件和软件之间的一个抽象层。它提供了核心系统服务,如安全,内存管理,进程管理,网络协议栈和驱动模型。此外,一些底层功能如 Dalvik 虚拟机线程管理也依赖于Linux内核。
Android应用新特点
作为一个新的操作系统,一方面,Android 可以受益于其他的成熟的操作系统的技术。另一方面,Android 也会改善出现在其他操作系统上的缺陷。对于开发商的前瞻性,Android系统具有以下新的特点:
允许一个应用程序被明确的定义。Android应用程序中,所有的组件可以通过系统独立启动,不过需要在一个XML文件名为AndroidManifest的文件中被声明。AndroidManifest做许多另外声明应用的组件的东西,包括:
? 定义一些应用所需要的用户权限,如互联网接入。仅定义应用程序需要
的权限和应用程序必须执行的操作权限。 ? 声明应用程序所需的最低API级别。
? 定义硬件和软件的使用或应用程序所需的功能。 ? 声明API函数库的应用需要被对应的链接。
资源和代码是分开的。在Android中,所有的非代码资源是在XML文件中定义。对于每一个包括在 Android 项目中的资源,SDK构建工具定义一个唯一的整数ID,它可以用来参考从应用程序代码的资源或从XML文件中定义其他资源。提供单独的资源可以从源代码中很容易地更新应用程序的不同特性,从而无需修改代码。同时通过提供一套替代资源集,使开发人员能够针对各种设备配置优化中的应用,如不同的语言和屏幕尺寸。
Android作为一个完整的,开放的和自由的移动设备平台,凭借其强大的功能和良好的用户体验迅速发展成为最流行的移动操作系统。本文给出了关于Android应用框架和Android应用程序的主要工作的详细介绍。最后,推出了android平台上的音乐播放器作为一个例子来说明了这个机制。
1.2 本论文研究意义
中国象棋是一项智力和策略的游戏,以往都是人和人下棋,现在有了计算机我们可以和计算机竞技,人可以与计算机进行对弈。控制计算机的是人类,而人机会话
3
基于Android技术的中国象棋人机对弈游戏的设计与实现
综合性很强的一门边缘学科,它的中心任务是研究使计算机如何去做那些过去只能靠人的智力才能做的工作。因此,对游戏开发过程中的人工智能技术的研究自然也就成了业界的一个热门研究方向。
本次论文的研究,主要是对中国象棋在Android系统中的兼容行性,对游戏界面可观性,游戏中人机会话的研究。对于游戏中的人机会话的要点:
a 某种在及其上表示棋局的方法,让程序知道会话的状态;
b 产生合法的走棋法则,使得会话双方公正,并可以判断人类对手是否乱走; c 从所有和法定的走法中选择最佳的走法的技术;
d 一种评估局面优化的方法,同上面技术配合做出智能选择; e 一个实现游戏的界面;
通过对游戏的设计,来实现游戏中棋牌的表示,着法的生成,对着法的搜索,最后对局面的评估来实现中国象棋的人机会话。
4
共分享92篇相关文档