0

我正在 libGDX 中设计一款游戏,它会掉落不同大小的石头供用户躲避。

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

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

4

1 回答 1

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

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

于 2015-04-10T02:59:05.207 回答