基于java的西洋棋的设计与实现
技术:Java等摘要:
西洋棋电脑博弈是人工智能研究领域的一个重要方面。由于国际象棋的复杂程度略高,人工智能的发展水平,切实的表现在计算机博弈的能力上。国际上对电脑国际象棋智能的研究有卓越的成就,而电脑智能跟人类国际象棋冠军对弈并获得胜利,已经广为人知。西洋棋电脑博弈在国际上的地位母庸置疑,在人工智能领域上也是举足轻重。 我在查阅大部分关于计算机博弈,游戏程序开发资料的基础上,结合我对西洋棋的理解,介绍如何实现一款具有一定棋力,且能双人博弈,交互友好的西洋棋学习软件程序,文中的主要工作如下:
1.简述西洋棋的历史与玩法,让人知道西洋棋的背景,包括西洋棋的起源,发展,以及在当今社会下的地位,并对西洋棋的玩法进行介绍,让大家深入地对西洋棋进行了解并让大家知道西洋棋的乐趣所在。
2.总结分析西洋棋电脑博弈的关键技术问题,包括数据结构的组成、搜索算法的研究、局面评估的函数还有交互界面的绘制等等。并对整个系统进行初步分析,确定开发过程中要实现什么功能。首先解决的是西洋棋在计算机中的绘制问题,研究如何能让计算机绘制成正确的棋盘跟把正确的棋子贴图放到正确的位置。
3.文中还研究了游戏中的算法设计,如何与人类对弈。而且要知道什么样的着法是合理的,假如程序连不合理的招数都不能检测出来,那么对手就可以利用这种招数来欺骗电脑;找出所有合理棋法的算法,这样程序就可以从这些棋法中找到最好的,而不是随便找一种棋法;要学会比较方法,包括比较着的方法和比较局面的方法,这样程序就可以选择最佳的棋法。 然后对搜索算法进行了一部分研究,首先对所处的局面进行评估,得出评估值,然后通过搜索算法搜索出最佳的局面,最后进行判断,做出电脑的选择。
关键词 : java西洋棋对弈
目录:
1绪论 10
1.1西洋棋历史 10
1.1.1简述西洋棋 10
1.1.2西洋棋的起源 10
1.1.3西洋棋的变革 12
1.2西洋棋的基本规则 14
1.2.1 棋盘和棋子 14
1.2.2棋子的走法 15
1.2.3胜负的规则 17
2 西洋棋游戏的需求分析 18
2.1软件实现的目标分析 18
2.2用户的特点 18
2.3 系统初步分析 18
2.4对功能的设定 19
2.4.1对弈双方设定 19
2.4.2时间设定 20
2.4.3对弈开始结束的设定 20
3 西洋棋学习软件的架构设计 20
3.1初步设计 21
3.2 局面表示 22
3.3数据结构 23
3.4走法生成 23
3.5搜索算法 24
3.6局面评估 25
3.7窗口探测 25
3.7.1渴望搜索 25
3.7.2极小窗口算法 26
3.8静寂搜索 27
3.9历史启发 28
3.10深层迭代 29
3.11静态评估算法详述 30
3.11.1.对棋子攻击性和棋力的评估 31
3.11.2对棋子位置附加价值的综合评估 31
3.11.3.对灵活性的评估 31
3.11.4.对棋子的保护性和协调性的评估 32
3.11.5.静态估值函数 32
3.11.6.静态估值函数的缺陷 32
3.12局势因子及动态局势再评估函数 33
3.13动态局势再评估算法的步骤 34
4 西洋棋学习软件系统实现 35
4.1界面实现 35
4.1.1详细实现 35
4.1.2关键代码展示 37
4.2走棋规则 38
4.2.1局面表示 38
4.2.2走法表示 39
4.2.3关键代码展示 42
4.3胜负判断 44
4.3.1王是否被吃 44
4.3.2时间是否用完 45
4.3.3王是否被将死 45
4.3.4关键代码展示 46
4.4游戏模式及限时 47
4.4.1时间限制的设置 47
4.4.2游戏模式的设置 48
4.5 AI 算法分析 48
4.5.1算法概述 49
4.5.2局面评估 49
4.5.3搜索算法 51
4.5.4置换表和开局残局库 53
4.6其余部分代码展示...................................................................................................54
5程序测试 56
5.1系统测试环境 56
5.2测试方法 57
5.3测试用例设计 57
5.3.1人人对弈 57
5.3.2人机对弈 57
5.3.3走法错位判断.....................................................................................................57
5.3.4胜负判断 58
5.4测试计算时间 58
5.5测试结果分析 58
5.6项目运行截图...................................................................................................................59
结论 60
参考文献 61
致谢 62
论文字数:36257
包含资料:
截图:
百度网盘下载地址(金币充值):
**** 本内容需购买 ****
页:
[1]