2012-01-03 12 views
0

私のゲームでは、1つまたは別のランダムなシーンを2つの整数A_xB_xで表示する必要がある確率を指定する必要があります。もしA_x = 3B_x = 6のシーンBは、シーンAよりも2倍頻繁に表示されるべきだと言う。必要な確率で乱数を生成する方法は?

読み込み式がありますか?あなたは私にそれらを指摘していただけますか?

私の最初の想像されたアイデアはスムースです。以前に生成されたシーンIDを保存し、それに応じて確率基準にそれを数えるのと同様に、A_xB_x;それは愚かに見えます。

+0

どのような言語ですか?どのプラットフォームですか? – Oded

+0

可能な複製[C++、与えられた確率でランダムにどのように数値を選択するか](0120-18753-1) –

+0

@Oded:C++、私は一般的なアイデアを探しています。 – bananov

答えて

3

ちょうど2つの選択肢を使って、Aの確率をA_x /(A_x + B_x)= 1/3として計算することができます。 rr.nextDouble()のような呼び出しで、0から1の間で一様に分布している数値を返す乱数ジェネレータがあれば、次のようなものが動作するはずです。

if (rr.nextDouble() <= probA) 
{ 
    show A 
} 
else 
{ 
    show B 
} 

乱数生成器が何か< = probA、確率probAで起こるはず生成場合、これはAを生成します。

+0

ここで、式A_x /(A_x + B_x)= 1/3が得られたか? – bananov

+0

それは明らかでした。確率は1にする必要があります。 A_xとB_xをある値で割った場合、修正値を元の比率と同じ比率に保ちながら、その合計を変更することができます。 A_x + B_xは、結果の合計を1にするために分けるものです。 – mcdowella

関連する問題