【发布时间】:2014-04-03 11:13:13
【问题描述】:
我在发帖和math.stackexchange.com 之间犹豫不决,但选择了这里,因为它同样与编程相关,而且我之前没有使用过math.stackexchange.com。
基本上,我有 6 个不同的项目我想根据百分比“删除”,但我不知道如何实施。数学也不是我的强项,这也无济于事。
无论如何,第 1 到第 6 项的百分比如下:
1%, 0.85%, 0.1%, 0.05%, 0.01%, 0.001%
所以物品 1 有 1% 的几率掉落,物品 2 有 0.85% 的几率掉落等等。
而且我希望每次运行都会掉落 1 个项目,如果没有满足这些“机会”,那么将使用默认项目。考虑这 6 项奖励项目。
到目前为止,我已经尝试过:
Random rn = new Random();
int x = rn.nextInt(100)+1;
if(100%x==0)//1%
{
}
if(100%(x*100)==0) //0.1%
{
}
这似乎不是一个公平的计算,而这个:
Random rn = new Random();
int x = rn.nextInt(100000)+1;
if(100%x==0)//1%
{
}
if(8500%x==0) //0.1%
{
}
这似乎更糟。
我想为每个项目使用一个随机数,但RNG 很多,因为它将在游戏循环中运行。
我尽量让这个问题保持直接,以避免争论等,所以我不是在寻找 最佳 解决方案,只是一个可行的解决方案 - 如果需要任何其他信息,我只要能帮我解决这个问题,我很乐意回答 =)
【问题讨论】:
-
哦,我没有意识到!谢谢,我会把我的问题移到那里! =)