我正在设计一个libGDX游戏,它会丢弃不同大小的岩石供用户躲闪。
我的问题:如何创建一个接收低和高int值的方法,并返回一个随机数。但是,我希望这个随机数偏向范围的中间(类似于正态分布)。
我希望这个方法看起来像这样: public int randBiasInt(int low,int high){}
答案 0 :(得分:0)
这类似的东西应该有用......
public int getBiasedInt(int min, int max) {
int rand = Math.random() * max;
while (rand < min) {
rand = Math.random();
}
int mid = (max / 2) - (min / 2);
int halfmid = mid / 2;
if (rand > mid) {
rand -= Math.random() * halfmid;
} else {
rand += Math.random() * halfmid;
}
return rand;
}
我知道,这不是最漂亮的。但是你想要的东西应该是可以接受的......