ハナハナのベル確率算出(プログラミング編)
前回は、差枚数からジャグラーのぶどう確率を算出する方法を記載しました。

にほんブログ村
今回は、それを応用してPythonでハナハナのベル確率を算出してみましょう。
基本的には、ぶどうの部分をベルに置き換えるだけですが、ハナハナではスイカでの獲得枚数を考慮しなければならない点がジャグラーと異なります。
ベル確率算出に使用する数値の準備
前回同様、まずは計算に使用する数値を先に定義しておきます。
スイカの枚数と確率を新たに追加しています。
# coding: UTF-8
def Koyaku_Calc(回転数, BB回数, RB回数, 差枚):
# 役ごとの出玉と確率を定義
# BBとRBは1枚掛けで揃えるとして、獲得枚数から1枚減らす
BB枚数 = 311
RB枚数 = 129
チェリー枚数 = 2
チェリー確率 = 49.0
スイカ枚数 = 10
スイカ確率 = 163.0
リプレイ枚数 = 3
リプレイ確率 = 7.3
ベル枚数 = 8
# IN枚数の計算
IN = 回転数 * 3
次にベル以外の獲得枚数を計算します。
ここでもスイカの項目を追加しています。
# OUT枚数の計算(チェリー狙い)
OUT_チェリー狙い = BB枚数 * BB回数 + RB枚数 * RB回数 + (チェリー枚数 * 回転数 / チェリー確率) + (スイカ枚数 * 回転数 / スイカ確率) + (リプレイ枚数 * 回転数 / リプレイ確率)
# OUT枚数の計算(フリー押し)
# 0.667はフリー押しした時にチェリーが取れる確率
# 0.431はフリー押しした時にスイカが取れる確率
OUT_フリー押し = BB枚数 * BB回数 + RB枚数 * RB回数 + (チェリー枚数 * 回転数 / チェリー確率 * 0.667) + (スイカ枚数 * 回転数 / スイカ確率 * 0.431) + (リプレイ枚数 * 回転数 / リプレイ確率)
ベル確率の算出式への当てはめ
フリー押し時のスイカ獲得確率は43.1%なので、フリー押し時はスイカの獲得枚数に0.431を掛けておきます。
ベル確率の算出式は、ぶどうの項目がベルに置き換わっただけです。
# ベル確率の算出(チェリー狙い)
ベル確率_小役狙い = ベル枚数 * 回転数 / (差枚 + IN - OUT_チェリー狙い)
# ベル確率の算出(フリー押し)
ベル確率_フリー押し = ベル枚数 * 回転数 / (差枚 + IN - OUT_フリー押し)
# 結果の表示
print("小役狙い : ", ベル確率_小役狙い)
print("フリー打ち : ", ベル確率_フリー押し)
実践データの入力
最後にホールで台から入力する情報を定義します。
ここに皆様がホールで確認した実践データを入力してください。
if __name__ == "__main__":
# 実践データ
回転数 = 1000
BB回数 = 4
RB回数 = 4
差枚 = 300
Koyaku_Calc(回転数, BB回数, RB回数, 差枚)
今回作成したコード全体
これまでのコードをまとめると以下のプログラムになります。
# coding: UTF-8
def Koyaku_Calc(回転数, BB回数, RB回数, 差枚):
# 役ごとの出玉と確率を定義
# BBとRBは1枚掛けで揃えるとして、獲得枚数から1枚減らす
BB枚数 = 311
RB枚数 = 129
チェリー枚数 = 2
チェリー確率 = 49.0
スイカ枚数 = 10
スイカ確率 = 163.0
リプレイ枚数 = 3
リプレイ確率 = 7.3
ベル枚数 = 8
# IN枚数の計算
IN = 回転数 * 3
# OUT枚数の計算(チェリー狙い)
OUT_チェリー狙い = BB枚数 * BB回数 + RB枚数 * RB回数 + (チェリー枚数 * 回転数 / チェリー確率) + (スイカ枚数 * 回転数 / スイカ確率) + (リプレイ枚数 * 回転数 / リプレイ確率)
# OUT枚数の計算(フリー押し)
# 0.667はフリー押しした時にチェリーが取れる確率
# 0.431はフリー押しした時にスイカが取れる確率
OUT_フリー押し = BB枚数 * BB回数 + RB枚数 * RB回数 + (チェリー枚数 * 回転数 / チェリー確率 * 0.667) + (スイカ枚数 * 回転数 / スイカ確率 * 0.431) + (リプレイ枚数 * 回転数 / リプレイ確率)
# ベル確率の算出(チェリー狙い)
ベル確率_小役狙い = ベル枚数 * 回転数 / (差枚 + IN - OUT_チェリー狙い)
# ベル確率の算出(フリー押し)
ベル確率_フリー押し = ベル枚数 * 回転数 / (差枚 + IN - OUT_フリー押し)
# 結果の表示
print("小役狙い : ", ベル確率_小役狙い)
print("フリー打ち : ", ベル確率_フリー押し)
if __name__ == "__main__":
# 実践データ
# カウントしていない場合は-1を入力
回転数 = 1000
BB回数 = 4
RB回数 = 4
差枚 = 300
Koyaku_Calc(回転数, BB回数, RB回数, 差枚)
プログラムの動作確認
今回入力した実践データでプログラムを実行すると、
小役狙い : 7.790626324595447 フリー打ち : 7.439266145245243
無事にベル確率が算出できていることが確認できました。
にほんブログ村
コメント
コメントを投稿