gpt4 book ai didi

c# - 如何根据百分比管理 AI 操作

转载 作者:太空狗 更新时间:2023-10-30 00:47:26 29 4
gpt4 key购买 nike

我现在正在研究程序员如何根据最终幻想类战术游戏(策略游戏)的 Action 百分比模拟 AI 决策。

例如,AI 角色有以下 Action :

攻击1:10%
攻击2:9%
魔法:4%
移动:1%

这一切远未达到 100%

一开始我想有一个有 100 个空槽的数组,攻击会有 10 个槽,攻击 2 个数组上的 9 个槽。结合随机我可以让 Action 去做。我的问题是它不是很有效,或者看起来不是。同样重要的是,如果我进入空位我该怎么办。我是否必须为每个角色计算所有基于 100% 的 Action ,或者为每个人定义一个“默认” Action ?

或者也许有更有效的方式来查看所有这些?我认为该百分比是实现 AI 的最简单方法。

最佳答案

我能想到的最佳答案是列出您希望角色拥有的所有可能 Action ,给每个 Action 一个相对值,然后将所有 Action 缩放到总和 100%。

编辑:

例如,这是我的三个 Action 。我希望攻击和魔法的可能性相同,而逃跑的可能性是攻击或使用魔法的一半:

  • 攻击 = 20
  • 魔法 = 20
  • 逃离 = 10

这加起来是 50,所以将每个除以这个总数得到一个小数值(乘以 100 得到百分比):

  • 攻击= 0.4
  • 魔力 = 0.4
  • 逃离 = 0.2

然后,我将从中得出一个累积值列表(即每个条目都是该条目及其之前所有条目的总和):

  • 攻击= 0.4
  • 魔力 = 0.8
  • 逃离 = 1

现在,生成一个介于 0 和 1 之间的随机数,并找到列表中大于或等于该数字的第一个条目。这就是您要采取的行动。

关于c# - 如何根据百分比管理 AI 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/673557/

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