gpt4 book ai didi

c++ - 为纸牌游戏正确播种 RNG

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:35:28 24 4
gpt4 key购买 nike

我正在开发一款纸牌游戏,我需要洗牌算法来做得很好,并且每次游戏运行时都不同,并且没有可预测的纸牌序列。

我正在使用 Mersenne twister 算法,但它仍然需要一个种子,所以实际上,虽然它产生了大量的数字,但现在只有 1000 个可能的游戏序列,因为我使用时间(NULL)作为种子。我应该如何播种?

最佳答案

我的标准播种技术:

  1. 如果 /dev/urandom存在,从那里读取种子。

  2. 如果您使用的是 Windows,请使用 CryptGenRandom() .

  3. 如果一切都失败了,使用 time() .

(不确定您的 Mersenne twister 来自哪里,但新的标准库在 <random> 中有一个,它集成得非常优雅。)

我很高兴听到有关前两个步骤未涵盖的平台的建议!

关于c++ - 为纸牌游戏正确播种 RNG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7312700/

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