我正在使用opencv将Connect Four游戏扫描到类似于this one (by John Tromp)的数据结构中。基本上它使用7 x 7 bitboard(顶行只有零),每个玩家能够使用大多数bithift运算符快速检查胜利者,而且没有循环。
有许多好的算法可以检查获胜者,但我找不到一个来检查董事会本身是否代表有效职位。
这些是Victor Allis in his Masters thesis所述的有效排名标准:
此外,在严格应用所有规则时,有些位置是不可能的。这是一个简单的例子:
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . x . . .
. . . o . . . (where x plays first)
鉴于上面提到的数据结构,有没有办法在没有昂贵的循环或递归调用的情况下检查所有这些条件(特别是3和4)?