0

我正在创建一个随机添加精灵到我的场景的游戏。随机性是加权的,我可以根据为我的方法提供的参数更改权重,以更改我想要添加的精灵比其他精灵更多。

现在游戏是回合制的。所以,在第一轮中,我希望精灵的重量需要向用户展示很多,我将通过重量设置,并将其他精灵设置为较低的重量,以便在第一阶段轻松。

第二轮我想通过将更多不需要的精灵混合到场景中来改变权重并使其更难一点。

问题是我不想硬编码,因为我希望用户尽可能多地进行。那么我怎么能在没有硬编码的地方做我需要它做的事情呢?

希望这是有道理的

编辑:

所以基本上发生的事情是我有一个 wiehgt 方法来控制一个精灵被添加到场景中的概率超过其他 3 个精灵。

updateWeights(int itemNumber, double weight);

这是我用来更新每个精灵重量的方法,方法是提供精灵 itemNumber 然后是我想要使用的重量。

我想做的是随着用户根据我设置的要求在游戏中走得更远,通过将权重更改为不同的权重,游戏将逐渐变得更难。问题是必须在场景中显示的精灵比其他精灵应该总是高于其他精灵(这就是我不想使用随机生成器的原因)。明白了吗?如果有人对此有更简单的逻辑,请随时提出建议。

4

1 回答 1

0

找出整数的一些函数来确定权重。

例如, try weight(n) = 1/(1 + e^(-n + b)),你可以改变b平衡。这总是返回一个介于 0 和 1 之间的数字。

于 2012-07-17T03:21:07.687 回答