第7讲 五子棋游戏人机对弈.ppt

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7讲 五子棋游戏人机对弈

第7讲 五子棋游戏人机对弈 知识点 一、五子棋游戏 二、程序说明 三、五子棋人机对弈基本原理 3.1 572个获胜组合(成“5”位置) 3.2 计算机决策的基本思路 四、程序界面采用的技术和方法 4.1 资源准备 4.2 棋盘的表示和游戏状态的表征 4.3 自定义函数说明 4.4 绘图实现 4.5 玩家落子 4.6 文档类的串行化 4.7 界面其他技术 五、人机对弈的实现 5.1 评估局面优劣的方法 5.2 极大极小值算法 六、测试 6.1 计算机Vs计算机 一、五子棋游戏 棋盘:15×15大小,在交叉点落子。 对弈双方轮流下子,不吃子;哪方最先在某行、某列或对角线上连成5颗(或5颗以上)同颜色的棋子,则该方赢得比赛。 中国五子棋竞赛规则: 黑方指定开局(共26种开局,每种开局都是执黑先行); 下面左图是寒星局,右图是溪月局。 中国五子棋竞赛规则(continue): 黑方有禁手(三三禁手、四四禁手、长连禁手),白方没有禁手。下面左图是三三禁手,右图是四四禁手。 中国五子棋竞赛规则(continue): 三手可交换:当盘面下出三手棋时,白方应在第四手棋前,选择此开局使用黑棋还是白棋。如果白方提出交换黑白棋,则黑方必须同意。 中国五子棋竞赛规则(continue): 五手两打:黑方在下盘面第五手时,必须在盘面上的两个空白交叉点上各放一枚黑子,此两黑子在位置上不能同形,或者说不能对称。之后,由白方选择后,拿去一子,留下一子。 平时非正规的五子棋比赛,一般不需指定开局、对弈双方轮流下子即可,黑方也没有禁手。但从理论上讲,先行方(即执黑方)胜率要高一些。 课程作品参考 目前还没有完全遵守竞赛规则的五子棋程序(双人对弈(单机或网络,人机对弈),甚至能判断禁手的程序都很少。 课程作品参考:开发一个完全遵守五子棋竞赛规则的程序,双人对弈,人机对弈均可。要求: 黑方指定开局、三手可交换、五手两打。 能判断禁手。 其他辅助功能:能记录每步走棋、能悔棋。 二、程序说明 本课件所设计的程序实现了五子棋的人机对弈,主要目的是用于教学,因此: 略去了悔棋、双人对弈、双人网络对弈、记录每步走棋信息等功能。 没有实现指定开局、黑方禁手、三手可交换、五手两打等正式竞赛中的规则。 约定人机对弈时,玩家执黑先行。 具体功能为: 可以保存游戏、载入游戏。 为了教学演示、方便讲解程序等,可以加载3种棋盘(普通棋盘、二维数组棋盘、标准棋盘)。 为了进一步分析和演示人机对弈时计算机采取的极大极小算法,增加了测试“计算机Vs计算机”的功能,对弈双方均采用极大极小算法。 三、五子棋人机对弈基本原理 除去正式比赛中的规则外,五子棋因为不吃子,所以规则比较简单。 3.1 572个获胜组合 “5”在五子棋中有着至高无上的地位,正式比赛规则就规定了:如果黑方连成5跟禁手同时成立,则禁手失效。 五子棋棋盘中的任一个位置,都有可能能往4个方向(为简化起见,不考虑反方向)连成“5”,这样总共有572个位置和方向(见下面5页中的图)的组合,称为获胜组合,或成“5”位置。 为什么可以不考虑反方向? 572个获胜组合: 第0~164个成5的位置 第165~329个成5的位置 第330~450个成5的位置 第451~571个成5的位置 3.2 计算机决策的基本思路 五子棋人机对弈基本原理-计算机决策的基本思路: 引入评估局面优劣的方法;比如,本方某个获胜组合中有一颗棋子,得分为5分,两颗棋子50分,三颗棋子得分500分,四颗棋子得分5000分,局面得分为所有获胜组合得分总和;对方的得分为负值。 假定对方也一样聪明,一样能找到最佳的位置。借助计算机强大的计算能力,试探性地往前搜索几步并评估局面优劣,从而为当前走棋找到一个最佳的位置。 四、程序界面采用的技术和方法 程序界面具有的特点: 单文档应用程序,在视图中绘图。 可以保存游戏、加载游戏。 可以选择3种棋盘:普通棋盘、二维数组棋盘、标准棋盘。 4.1 资源准备 本程序用到的资源主要有8张位图,在res目录中,各位图对应的ID及作用如下: IDB_BLACK:black.bmp,在画双方棋子时用到的MASK位图。 IDB_BOARD_GENERAL:board.bmp,普通棋盘。 IDB_BOARD_ARRAY:board(二维数组).bmp,二维数组棋盘。 IDB_BOARD_NORMAL:board(正规).bmp,标准棋盘。 IDB_BLACKCHESS:blackchess.bmp,黑子用的位图。 IDB_WHITECHESS:whitechess.bmp,白子用的位图。 IDB_LASTBLACK:lastblack.bmp,当前下的黑子用的位图。 IDB_LASTWHITE:lastwhite.bmp ,当前下的白子用的位图。 技巧

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档