“人机大战黑白棋”相关资料说明
河北省顺平县信用合作社联合社 李学锋
邮编:072250
电话:7620181、7620462、13803264289
Email:splsywk@sina.com.cn
黑白棋(Reversi、Othello),也叫苹果棋,翻转棋,是一个经典的策略性游戏,相信一些人
并不陌生。“人机大战黑白棋”在棋盘格式、走法、胜负判断上与传统的黑白棋游戏没有区别,
只是增加的几种不同的开局方式,以求增加一些变化及趣味性。由于编程水平有限,对黑白棋又
不是很了解,做出来的东西自己都不很满意,无奈时间所胜不多,只能用它来充数了。
“人机大战黑白棋”支持双人游戏与人机对战,共有十种不同的开局方式供大家选择,其中
第一种是传统的黑白棋开局。人机对战中电脑棋手走棋采取用历史启发增强的负极大值搜索引擎,
前 50 来步棋采取一般性搜索,后 10 来步棋采用终局搜索,也就是一直搜索到棋局的最后一步。
一般搜索最大层数设为 7 层(与一些优秀软件十几层的搜索相差很远),终局搜索最大层数设为 11
层。下面是一些变量和子程序说明:
1、定义数量类型:
---------------------------------------------------------------------
自定义数据类型:棋子点
备注:棋子坐标
成员:横坐标 数据类型:短整数型
成员:纵坐标 数据类型:短整数型
---------------------------------------------------------------------
自定义数据类型:一步走法
备注:一步走法的信息
成员:落子点 数据类型:棋子点
成员:棋子类型 数据类型:短整数型
成员:被吃棋子个数 数据类型:短整数型
成员:被吃棋子点 数据类型:棋子点 数组:30
成员:历史得分 数据类型:整数型
2、全局变量:
(1)全局变量:棋局 数据类型:短整数型 数组:8,8 备注:存储当前棋
局:1.黑子,2.白子,0.无子
(2)全局变量:走法库 数据类型:一步走法 数组:16,30 备注:用于
存储搜索引擎产生所有走法
(3)全局变量:玩家全部走法 数据类型:一步走法 数组:2,30 备注:用于
存储玩家所有可能的走法
(3)全局变量:玩家全部走法数量 数据类型:短整数型 数组:2 备注:
存储玩家所有走法的数量
(4)全局变量:是否正在进行游戏 数据类型:短整数型 备注:是否正确进
行游戏:0.未进行,1.正在进行,2.游戏暂停