remove
powerd by nog twitter

説明書(オマハシミュレータ)

オマハをシミュレートできるJavaアプレットです。
シミュレーションによって勝率、相性、平均ハンドなどを知ることができます。

アプレットの概観

1.プレイヤーの数を選択します。
範囲は2人から10人までです。
2.繰り返し回数を選択します。
1回、100回、1000回、10000回、100000回、1000000回のうちから選択できます。
3.プレイヤーのカードを選択します。
左側が順位を、右側がスートを表しています。
「*」は指定しないことを表し、指定しない場合はランダムに割り振られます。
「↑」はそれ以上、「↓」はそれ以下の順位を指定することを表します。
例えば「Q↑」はQ以上(Q、K、A)の、「5↓」は5以下(5、4、3、2)のどれかがランダムに割り振られます。
「=」はその対象と同じスート(順位)、「!」はその対象と違うスート(順位)であるということを表します。
「=」または「!」を選択するとその対象を指定するための新しいウインドウが開きます。
対象を選択してOKを押してください。
「=」の対象は1枚まで、「!」の対象はスートの場合3枚まで、順位の場合12枚まで指定できます。
誤解が生じないように説明しておきます。
カードの1枚目を「T↑」「*」、2枚目を「T↑」「*」とするとT以上の2枚ですから、QT、AK、JJなどになりますが、
カードの1枚目を「T↑」「*」、2枚目を「=」「*」(「=」の対象は1枚目)とすると、「=」は同じにするという意味なのでこの場合はAA、KK、QQ、JJ、TTにしかなり得ません。
4.ボードのカードを選択します。
スート、順位などプレイヤーのカードと同じものを表しています。
5.スタートを押すとシミュレーションをスタートします。
スタートすると、カードを指定に従って割り振り、どのプレイヤーが勝者かを判定し、各プレイヤーの勝ち、負け、引分の値を増やします。
これを試行回数分繰り返します。
明らかにカードの選択に矛盾があったり、カードの割り振りを始めてから5秒間経っても割り振りができない場合はエラーメッセージを表示してシミュレーションを中止します。
勝ちと引分にはハイとローの2種類の数字が表示されます(ハイローの場合)。
左がハイの結果で右がローの結果です。
また、シミュレーション中はボタンがストップに変わり、
ストップを押すとシミュレーションを途中で中止します。
6.リセットを押すとカードの選択をすべて「*」にリセットします。
7.「結果を表示」をチェックしてシミュレーションを行うと、
シミュレーション終了時にウインドウが開いて詳細な結果を表示します。
8.「ハイのみ」を選択するとオマハハイを、
「ハイロー」を選択するとオマハハイロー(8 or better)をシミュレートします。
9.「高速化」をチェックしてシミュレーションを行うと、
ラベルを毎回更新せずにシミュレーション終了時にのみ結果を出力することによって、
シミュレーションを高速に行います。

更新履歴

v1.1ひとまず公開
v2.1"ハイのみ"か"ハイロー"を選択できるように変更
v2.2乱数発生のバグを修正
v3.1アプレットの文字をすべて日本語化
アルゴリズムの改良
v4.1スートだけ、順位だけでも選択できるように変更
v4.2フレーム内もすべて日本語化
ソースの整理
v4.3ソースの整理
v5.1高速版と統合
v5.2乱数を Mersenne Twister に変更
ソースの見直し
v5.3ソースの見直しによって生じたロー判定のバグを修正
v5.4スクリーンサイズの取得を JavaScript から Java に変更
v6.1「シミュレーション」から「シミュレータ」に名称変更
試行回数に1000000回を追加
カードの選択方法に「↑」「↓」「同」「違」を追加
詳細結果に平均ハンド、平均ローを追加
v6.2カードの選択方法を若干変更
詳細結果で「総数表示」と「%表示」を選べるように変更