随机数生成器偏向于Range,Java,libGDX中间的数字

时间:2015-04-10 02:03:24

标签: java random libgdx probability probability-theory

我正在设计一个libGDX游戏,它会丢弃不同大小的岩石供用户躲闪。

我的问题:如何创建一个接收低和高int值的方法,并返回一个随机数。但是,我希望这个随机数偏向范围的中间(类似于正态分布)。

我希望这个方法看起来像这样: public int randBiasInt(int low,int high){}

1 个答案:

答案 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;
}

我知道,这不是最漂亮的。但是你想要的东西应该是可以接受的......