我想得到最有效和正确的下降系统,在地雷艇根据我设定的赔率。
我实际上是这样创造的:
double randomChance = getRandom(0, 100);
for(DropObject dropObject : getDropByCategoryAndSource(category, source)) {
if(randomChance <= dropObject.getChance()) {
//give item etc.
}
}
问题是不是所有的物品都会掉下来,只有少数。我怎样才能使这个系统更有效地工作呢?
1条答案
按热度按时间pwuypxnk1#
我看到的一个问题是,因为您正在生成一个从0到100的数字,然后将其与列表进行比较。所以,如果你从随机方法中得到37,这意味着所有概率等于或高于37%的项目都会被丢弃,我相信这不是你想要的行为。
我不知道列表的大小,但也许你可以在列表循环中生成一个新的随机数。