随机数生成器偏向范围中间的数字,Java,libGDX
Random Number Generator Biased To Numbers in the Middle of Range, Java, libGDX
我正在 libGDX 设计一款游戏,它会掉落不同大小的石头供用户躲避。
我的问题: 我如何创建一个接受低位和高位 int 值以及 returns 随机数的方法。但是,我希望这个随机数偏向范围的中间(类似于正态分布)。
我希望该方法看起来像这样:
public int randBiasInt(int low, int high) { }
类似这样的东西应该有用...
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;
}
不是最漂亮的,我知道。但是对于你想要的应该是可以接受的...
我正在 libGDX 设计一款游戏,它会掉落不同大小的石头供用户躲避。
我的问题: 我如何创建一个接受低位和高位 int 值以及 returns 随机数的方法。但是,我希望这个随机数偏向范围的中间(类似于正态分布)。
我希望该方法看起来像这样: public int randBiasInt(int low, int high) { }
类似这样的东西应该有用...
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;
}
不是最漂亮的,我知道。但是对于你想要的应该是可以接受的...