Algorithm 什么';s检查给定nash'板的快速算法;世界末日?

Algorithm 什么';s检查给定nash'板的快速算法;世界末日?,algorithm,Algorithm,请参阅此链接: 我正在制作十六进制游戏,但我不知道检查给定的游戏是否结束 那么,检查给定游戏结束的伟大算法是什么呢 在这里,结束意味着只有一个人完全连接一条线 问:给定两个玩家棋子的位置,确定“是否有一条完整的线使游戏结束?”的好算法是什么?每个棋子都有一个连接的边(或没有边),并且是所有连接棋子的小循环的一部分。放置一个工件时,它会检查是否有任何相邻的工件连接到一个侧面,然后链接所有相邻的工件循环,并在必要时调整其“侧面”。如果它看到了双方,游戏就结束了 这与go中用于确定是否捕获组的算法非常

请参阅此链接:

我正在制作十六进制游戏,但我不知道检查给定的游戏是否结束

那么,检查给定游戏结束的伟大算法是什么呢

在这里,结束意味着只有一个人完全连接一条线


问:给定两个玩家棋子的位置,确定“是否有一条完整的线使游戏结束?”的好算法是什么?

每个棋子都有一个连接的边(或没有边),并且是所有连接棋子的小循环的一部分。放置一个工件时,它会检查是否有任何相邻的工件连接到一个侧面,然后链接所有相邻的工件循环,并在必要时调整其“侧面”。如果它看到了双方,游戏就结束了


这与go中用于确定是否捕获组的算法非常相似。

您需要一个等价类数据结构,有时称为“联合查找”结构:

在放置每一块石头时,它被赋予一个新的等价类。然后,将该石头的等价类与其相同颜色的所有相邻部分合并。在棋盘的每个边缘都有各种颜色的“虚拟石头”。当相同颜色的对边石处于相同的等价类时,则建立连接,游戏结束


希望这有帮助。

我认为A*是适合您的算法,
虽然这太直截了当了,但电脑会玩得很无聊

您可以看看
或者玩一个实现