如何编写一个带有小数的偏向数生成器(Lua)

如何使每个从1.0到10.0的数字分配一个值,以确定其被选中的几率,如果可能的话,不使用大量的if语句?

它的工作原理是:

1.0 = 1%,1.1 = 1.1%,1.2 = 1.5%,1.3 = 1.7%,直到1.9,这样1.0-2.0就有10%的机会被选中

1.0-2.0将具有第二高的几率,2.0-4.0将具有最高的几率,4.0 5.0将具有第三大的机会,5.0-6.0将具有第四大的机会,6.0-7.0将具有第五大的机会,7.0-8.0将具有第六大的机会,依此类推直到10.0

原文链接 https://stackoverflow.com/questions/69180517

点赞
stackoverflow用户1442917
stackoverflow用户1442917
用足够的数值填充一个表格,根据您的概率来填充数值,并从该表格中随机抽取。这应该是最简单的方法。

例如,制作一个包含1000个元素的表格,前十个元素将具有值1.0(因此如果随机绘制,您将获得1%的概率),然后有11个元素具有1.1,15个元素具有1.2等等。
2021-09-14 16:49:11