0

ユーザーがかわすためにさまざまなサイズの岩を落とすlibGDXでゲームを設計しています。

私の質問:低い int 値と高い 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 に答える