質問: 今現在じゃんけんゲームを製作しているのですが、javascriptで勝率を7割にしたい場合 そのようなコードを書けばいいのでしょうか? 教えてください。 じゃんけんゲーム あなた わたし 判定: あなたの得点: わたしの得点:
回答: もう消されましたが、数学的に解くと次のようになります。 じゃんけん一回につき、勝つ確率をw,あいこになる確率をdとすると、 i回目で勝つ確率はi-1回あいこが続いたあと勝つ確率なので d^(i-1) * w となります。 n回目までに勝つ確率はi=1からnまでの総和で、 w * (1-d^n) / (1-d) となります。 勝つ確率はこのnを無限大にまで飛ばした値と考えられます。 いま0 < d < 1なので、n -> ∞ のとき、d^n -> 0 となります。 つまり、勝つ確率はw / (1 - d)となります。 これが7割(=0.7)なので、10w = 7(1-d) 1-dは、「あいこにならない確率」つまり「勝つか負ける確率」なので、負ける確率をlとすると、 10w = 7(w+l) 3w = 7l w : l = 7 : 3 という式が導かれます。 つまり、あいこの確率を適当に設定して、残りの確率を勝ち負けに7:3に分配して設定します。 例えばあいこを10%とすれば残り90%なので、勝ちに63%,負けに27%割り振ります。 出された手に応じて勝つ手、負ける手、同じ手を、この確率にそって乱数から決定すれば、 理論上勝率7割のコードになるはずです。