这里有两个问题:
如果您的电路板相当小,您可以简单地暴力破解它们。对于网格中的所有位置,检查您是否可以将其向上、向下、向左或向右移动,并且您拥有移动生成器。(您应该检查已经为单人游戏版本实施的有效动作)。
选择最好的棋步会有点棘手,因为你必须评估每一步棋。执行此操作的常用方法是MiniMax方法。一般的想法是,您在接下来的几轮中构建一个包含所有可能移动的树,并为每个叶子分配一个分数。然后你减少树,这样如果 AI 轮到移动,父节点变为 max(leaves),如果玩家移动,则变为 min(leaves)。你最终得到了你在根部移动的分数。
像这样的基本 AI 编程的重要资源是Chess Programming Wiki(你不需要那里描述的 90%。从 MiniMax 和 AlphaBeta 算法开始)。
另一方面,对于最简单的人工智能,你可以随机选择一个动作,三消游戏在规划你的动作时并不是最苛刻的。
编辑:事后考虑,以下似乎是三消游戏的合理 AI 策略:
假设每次移动后添加的所有随机宝石都无法以任何方式匹配:
- 选择一个让我的对手无法移动的动作(没有子节点)。
- 如果 1. 不可能,无论我的对手选择哪一步(没有子节点是叶子),选择任何能保证我再次移动的移动。
- 如果 2. 不可能,请选择随机移动。