Artificial intelligence Unity 2D/3D-为第三场比赛制作计算机对手(AI)

Artificial intelligence Unity 2D/3D-为第三场比赛制作计算机对手(AI),artificial-intelligence,unity3d,monodevelop,Artificial Intelligence,Unity3d,Monodevelop,我正在寻找关于在哪里开始为第三场比赛创建计算机AI对手的指导/建议。这个问题困扰了我好几年(字面意思),因为我一直没能弄明白。我已经用尽谷歌来寻找这个答案 有电脑对手的示例3游戏包括:和 在创建这样的AI对手时使用了哪些编程方法,如何将其应用到Unity 2D脚本中?在哪里/如何开始?我主要是寻找一个教程或东西,让我开始在正确的方向。我意识到这不是一件容易的事,但我想一步一步地尝试,这样我才能更好地理解事情 提前谢谢 这里有两个问题: 生成可能的移动 选择最佳举措 如果你的董事会相当小,你可

我正在寻找关于在哪里开始为第三场比赛创建计算机AI对手的指导/建议。这个问题困扰了我好几年(字面意思),因为我一直没能弄明白。我已经用尽谷歌来寻找这个答案

有电脑对手的示例3游戏包括:和

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


提前谢谢

这里有两个问题:

  • 生成可能的移动
  • 选择最佳举措
如果你的董事会相当小,你可以简单地对他们两个施加暴力。对于网格中的所有位置,请检查是否可以向上、向下、向左或向右移动网格,并使用移动生成器。(你应该检查已经为单人版游戏实施的有效移动)

选择最好的移动将有点棘手,因为你必须评估每个移动。实现这一点的常用方法是方法。一般的想法是,你在接下来的几轮中建立一棵包含所有可能移动的树,并为每片叶子分配一个分数。然后缩小树,使父节点在轮到AIs移动时变为max(叶子),在玩家移动时变为min(叶子)。你最终的得分是你的移动在根

对于像这样的基本人工智能编程来说,这是一个很好的资源(你不需要这里描述的90%,从MiniMax和AlphaBeta算法开始)

另一方面,对于最简单的人工智能来说,你可以随意选择一个动作,第三场比赛对你的动作规划要求并不高

编辑:作为事后思考,以下似乎是第三场比赛的合理人工智能策略:

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

  • 选择一个使我的对手无法移动的移动(没有子节点)
  • 如果1。这是不可能的,选择任何可以保证我再次移动的移动,无论我的对手选择哪个移动(没有子节点是叶子)
  • 如果2。不可能,选择随机移动

  • 这个问题可能更适合于谢谢你们!我不知道有这样一个地方。