我正在使用 Excel 和 VBA 来模拟大量掷骰子。
我遇到的问题是,经过一段时间后,滚动开始重复,并且我得到的结果不是随机的。
INT = RND() * 6 +.5
我为每个骰子都使用了。
有没有办法让它随机性增加几个数量级?
我确实会Randomize
事先使用它来防止每次都以同样的方式开始。
答案1
VBA 可能实现了伪随机函数。由于它是一个函数,它会重复,但会生成一组具有随机分布的值。
您可能需要开发或寻找一个库,该库采用随机性源并在此基础上生成随机数序列。其中一个不可预测性源是按键之间的时间,或收集鼠标移动等输入。
您还可以使用网络服务并下载大量随机数。random.irb.hr 和 random.org 就是这样的两种服务。
random.irb.hr 网站上有一些库,允许您在创建帐户后以编程方式访问该服务。
您还可以考虑购买他们使用的实际发电机并使用他们提供的软件。