我想开发一个飞行棋游戏,最多由 4 名玩家玩,最少由 2 名玩家玩。其中一名玩家将是 AI。由于条件很多,我无法决定计算机该移动哪个棋子。我正在尽最大努力,但仍然无法开发出能够与人类竞争的高效算法。 如果有人知道任何用任何语言实现的算法的答案,请告诉我。 谢谢。
回答:
我认为在大多数电脑纸牌/棋盘游戏中,为你的 AI 玩家获得一个相当好的策略,比试图获得一个总能获胜的顶级算法要好。 AI 玩家应该玩起来有趣。
一个相当合理的方法是收集一组你的 AI 应该遵循的经验规则。比如“如果我掷出 6 点,我应该在考虑任何其他移动之前先从家里移动一个棋子”,“如果我有机会“吃掉”另一名玩家的棋子,就去做”,等等。然后将这些规则从最重要到不太重要进行排序,并在代码中实现它们。你可以将一组规则组合成不同的策略,并尝试切换它们以查看 AI 玩得更好还是更差。