1个稳定版本
1.0.0 | 2022年8月2日 |
---|
#495 在 游戏
9KB
173 行
带有AI的Nim游戏
Nim是一种减法游戏,两名玩家轮流从一个或多个堆中取走一个或多个物品,最后移动的玩家获胜。
我在终端中复制了这款游戏的功能,您可以与两名人类玩家一起玩,或者独自与计算机对战。
AI的工作原理
由于涉及到组合游戏理论的一些奇特的数学,这些数学对我来说几乎无法理解,因此您可以对这些数字进行“nim和”操作以获得一个值。当nim和为0时,没有移动可以将其保持为0,当它不为0时,有一个或多个移动可以将它变为0。如果一名玩家可以在每次移动时保持游戏的nim和为0,则他们获胜。nim和通过将每个堆中的物品数量转换为二进制,然后对每个数字应用XOR(异或)运算符来计算。
由于nim和的计算是一个简单的逻辑运算符,因此创建一个AI来玩游戏是非常简单的。我的具体实现是通过最小化nim和,始终达到0。然而,非常熟练的玩家可以根据堆设置选择P1或P2,并在技术上以最佳方式玩游戏,从而击败AI。游戏还会在每个回合打印出nim和。