基于java的 中国象棋游戏毕业设计论文

技术:Java等
摘要:

在最近的几年当中,我们通过改革开放引进许多新的技术,而用计算机编写的象棋程序也拥有极高的水平。20世纪的时候,有一个算法非常大的提升了机器下棋水准,alpha-beta修剪算法大家可以上了解一下,把需要走下一步棋用的搜索量降到了最低。我们通过前面学术人员总结出的经验和教训,来设计我们自己的程序,我们自己的软件。
关键词:java;象棋;棋盘;Zobrist键值;单据库;置换表;评价残局

目录:

摘  要    Ⅰ
ABSTRACT    Ⅱ
目  录    III
1 概述    1
1.1 棋盘的标记    2
1.1.1 纵线方式    2
1.1.2 坐标方式    2
1.2 棋子的名称    2
1.3 棋谱的记录方法    3
1.3.1 坐标记法    3
1.3.2 中文纵线记法    3
1.3.3 符号纵线记法    4
2 基本数据结构——位棋盘    5
2.1 什么是位棋盘    5
2.2 位棋盘的作用    5
2.3 位棋盘的基本运算    7
2.4 JAVA中位棋盘的实现    7
2.4.1 位棋盘类的实现    7
2.4.2 位棋盘的初始化    8
2.4.3 位棋盘的更新    9
3 基本数据结构——ZOBRIST键值    11
3.1 比较局面的方法    11
3.2 ZOBRIST键值的实现方法    11
3.3 ZOBRIST键值的工作原理及用途    11
3.3.1 ZOBRIST键值的工作原理    11
3.3.2 ZOBRIST键值的用途    11
3.4 JAVA中实现ZOBRIST键值    12
4 着法生成    13
4.1伪合法着法的生成    13
4.1.1 数组及其下标的含义    13
4.1.2 举例算法——车和炮的走法    16
4.2 合法着法的生成    18
5 搜索算法    20
5.1 最小-最大搜索    20
5.1.1基于最小-最大的评价函数    21
5.1.2 最小-最大搜索    22
6 程序的设计及实现    23
6.1 搜索引擎的实现(ENGINE包)    23
6.2 棋子信息的传输(MESSAGE包)    23
6.3 棋子(PIECES包)    24
6.4 主控模块(MAIN包)    25
参考文献    26
致   谢    27

论文字数:9177
包含资料:

 

 

截图:

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值