gpt4 book ai didi

artificial-intelligence - Unity 2D/3D - 为三消游戏制作电脑对手 (AI)

转载 作者:行者123 更新时间:2023-12-02 03:45:47 27 4
gpt4 key购买 nike

我正在寻找有关从何处着手为三消游戏创建计算机 AI 对手的指导/建议。这个问题多年来一直困扰着我(字面上),因为我一直无法弄清楚。为了找到这个答案,我用尽了 Google 的精力。

有电脑对手的三消游戏示例包括:Puzzle QuestCrystal Battle .

在创建这样的 AI 对手时使用了哪些编程方法,我如何将其应用到 Unity 2D 脚本中?我在哪里/如何开始?我主要是在寻找教程或其他东西来让我朝着正确的方向开始。我意识到这不是一件容易的事,但我想一步一步地尝试,这样我才能更好地理解事情。

提前致谢!

最佳答案

这里有两个问题:

  • 生成可能的 Action
  • 选择最佳着法

如果您的电路板相当小,您可以简单地暴力破解它们。对于网格中的所有位置,请检查您是否可以将其向上、向下、向左或向右移动,并且您拥有移动生成器。 (您应该检查已经为游戏的单人版本实现的有效移动)。

选择最佳着法会有点棘手,因为您必须评估每一步。常见的方法是 MiniMax方法。一般的想法是,您在接下来的几个回合中构建一个包含所有可能移动的树,并为每个叶子分配一个分数。然后你减少树,如果 AI 轮到移动,父节点变为 max(leaves),如果玩家移动,父节点变为 min(leaves)。您最终得到根部移动的分数。

像这样的基本 AI 编程的重要资源是 Chess Programming Wiki (您不需要那里描述的 90%。从 MiniMax 和 AlphaBeta 算法开始)。

另一方面,对于最简单的 AI,您可以随机选择一个 Action ,三消游戏在计划您的 Action 方面并不是要求最高的。

编辑:事后看来,以下似乎是三消游戏的合理 AI 策略:

假设每次移动后添加的所有随机 gem 都无法以任何方式匹配:

  1. 选择一个让我的对手无法移动的 Action (没有子节点)。
  2. 如果 1. 不可行,则无论我的对手选择哪一步(没有子节点是叶子),都可以保证我的另一步走。
  3. 如果 2. 不可能,选择随机移动。

关于artificial-intelligence - Unity 2D/3D - 为三消游戏制作电脑对手 (AI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17261847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com