目录

基于VC的在线联机五子棋游戏设计与实现

基于VC++的在线联机五子棋游戏设计与实现

:https://download.csdn.net/download/sheziqiong/85602532

:https://download.csdn.net/download/sheziqiong/85602532

gobang

五子棋游戏,可双人对战,也可人机对战

前期准备

  • ege库

    https://i-blog.csdnimg.cn/blog_migrate/9a850a4a6d24962b24b574053606c560.png

  • codeblocks

功能实现

双人对战

  • 黑白方使用鼠标交替落子
  • 显示率先连成五子一方的获胜结果
  • 返回到菜单

人机对战

  • 人类作为黑方先行落子
  • AI自动应对
  • 显示率先连成五子一方的获胜结果
  • 返回到菜单

算法思想

alpha-beta剪枝搜索

  • max:己方

  • min:对方

  • α:max方的当前最优节点

  • β:min方的当前最优节点

  • 假定:双方都走出最好的一步

  • α剪枝:如果当前节点的值不比父节点的前兄弟节点的最大值大,则舍去此节点

  • β剪枝:如果当前节点的子节点的值不比当前的父节点的前兄弟节点中的最小值小则舍弃此节点。

  • 伪代码:

    https://i-blog.csdnimg.cn/blog_migrate/a95dddc95fb46871963af647d2810e24.png

函数设计

评估函数

https://i-blog.csdnimg.cn/blog_migrate/443d877915f1007877dceff477d254d1.png

  • 将棋盘情况转为字符串

  • 判断棋盘棋型

    (利用scanlines函数判断是否出现符合预设情况的字符串)

  • 计算得分

成果展示

https://i-blog.csdnimg.cn/blog_migrate/d1e410b9a43fc0e57d4e39083fb87f5e.png

:https://download.csdn.net/download/sheziqiong/85602532

:https://download.csdn.net/download/sheziqiong/85602532