如何使用噪声函数在加权选项列表之间进行选择?

问题描述 投票:0回答:0

我有一个排序动作列表,我希望我的函数根据它们的排序来确定选择哪个动作,并带有一点模糊性以避免过度重复。这是一个恐怖主题的例子,大致反映了我所拥有的:

// When confronted by Freddy Krueger, I should:
List(Action, float) options = {
  (Scream, 0.8f),
  (Run, 1.0f),
  (GoToSleep, 0.2f)
};

花车代表这些选项的可取性。理想情况下,您不想睡觉,但它可能会让您受益(以某种方式)。只取

options[0]
就足够简单了,但这会导致重复和无聊的行为,这是我不想要的。光谱的另一端,
options[Random.Range(0, options.Count)]
,更有趣,但显然不是目标。

有没有人知道我如何随机确定使用这些选项中的哪些而不简单地忽视它们的可取性?注意:选项的数量不是固定的。

c# perlin-noise
© www.soinside.com 2019 - 2024. All rights reserved.