gpt4 book ai didi

c++ - 生成项目和使用 srand

转载 作者:行者123 更新时间:2023-11-28 03:34:08 25 4
gpt4 key购买 nike

我正在制作一款游戏,目前正在研究随机掉落系统。

我计划创建一个随机 ID,这反过来又是项目的设计。如果我将相同的 ID 两次传递给 createItem 函数,它应该会创建完全相同的项目。

无论如何。当我创建 ID 时,我计划使用输入来让一些敌人更频繁地掉落某个元素。例如,假设函数看起来像这样:

void randID(int level, int diff, float wepChance, float armChance);

如果我在调用函数时将 wepChance 设置为 10% (0.1),我真的希望它有 10% 的几率掉落武器。如何将此输入与 rand()srand() 一起使用? srand 是如何工作的(除了创建种子之外没有发现任何其他东西)。

我想我可以编写自己的代码使它真的成为 10% 的机会,但是我可以使用 srand 来获得相同的结果吗?

最佳答案

srand 不会帮你解决这个问题。

如果您希望某事发生的概率为 10%,请使用如下内容:

int x = rand();

bool hasOccurred = (x < (RAND_MAX * 0.1));

这不会是 正好 10%,因为 RAND_MAX 可能不会正好除以 10,但我想它对您的应用来说已经足够接近了。

关于c++ - 生成项目和使用 srand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11591168/

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