バーサスの設定判別ツール作成

今回はバーサスの設定判別ツールをPythonで作成します。

過去に作成したハナビの設定判別ツールとほぼ同じ要領で作成できます。

今回は、ハナビの設定判別ツール作成で説明できていなかった、BB中の判別要素の計算方法について記載します。

バーサスのBB中の判別要素といえば、「Vを狙え演出」ですね。
設定ごとにVを狙った時の停止形の出現確率が異なっているため、BBのG数を算出して計算に用いる必要があります。

BBのG数は24Gですが、せっかくなのでこの24Gを導出してみましょう。
バーサスのBBは344枚を超える払い出しで終了とあります。
BB中は、14枚役を1回取ったあと、15枚を取っていくので、下表のようになります。
24Gのところで、払い出し枚数が344枚を超えるので、24GでBB終了です。
G数取得役払出枚数
11414
21529
31544
41559
2215329
2315344
2415359

方程式で算出するとしたら、以下の式となります。
15 * G数 - 1 > 344
→ G数 > 23

式を解くと、23Gを超えるG数が答えとなるので、24GでBBが終了することになります。

BBのG数がわかったので、「Vを狙え演出」での判別要素の二項分布確率を算出できます。
コードは以下のようになります。
三連Vテンパイの二項分布確率 = binom.pmf(三連Vテンパイ回数, BB * 24, 三連Vテンパイの設計上の確率)

こちらが実際に作成したバーサスの設定判別ツールのコードです。
※VS-CHANCE中のはずれ確率にも設定差があるようですが、設定差が小さいので項目から除外しています。
# coding: UTF-8
from scipy.stats import binom

def S_EST(回転数, BB, RB, チェリー, スイカ, ベル, 三連Vテン, 三連V上下段, 三連V斜め, VSゲームはずれ, VSゲームマイナス):
    # 設定値データを定義
    header = ['Machine', 'Setting', 'BB', 'RB', 'Cherry', 'Suica', 'Bell', 'ChBellB', 'SPBellA', 'SPBellB', 'HazureVS']
    set1 = ['VS', '1', '297.9', '409.6', '39.19', '55.48', '13.54', '36.01', '496.48', '16384', '10.83']
    set2 = ['VS', '2', '290', '381', '38.1', '53.49', '13.19', '24.01', '248.24', '16384', '9.71']
    set5 = ['VS', '5', '282.5', '356.2', '37.06', '51.56', '12.86', '36.01', '496.48', '799.22', '8.8']
    set6 = ['VS', '6', '268.6', '334.4', '38.05', '51.23', '12.54', '24.01', '248.24', '799.22', '7.6']

    SetData = [header, set1, set2, set5, set6]
    
    # 設定段階分の確率算出値データをSetDataから読み込んでfor文を回す。
    # ヘッダーを無視するために、iは1から。
    S_EST = []
    for i in range(1, len(SetData[:])):
        All_EST = 0

        # それぞれの二項分布確率算出。空欄の場合はその項を無視
        if 回転数:
            BB_EST = binom.pmf(BB, 回転数, 1.0 / float(SetData[i][2]))
            All_EST = BB_EST
        if 回転数:
            RB_EST = binom.pmf(RB, 回転数, 1.0 / float(SetData[i][3]))
            if All_EST == 0:
                All_EST = RB_EST
            else:
                All_EST = All_EST * RB_EST
        if 回転数 and チェリー != -1:
            Cherry_EST = binom.pmf(チェリー, 回転数, 1.0 / float(SetData[i][4]))
            if All_EST == 0:
                All_EST = Cherry_EST
            else:
                All_EST = All_EST * Cherry_EST
        if 回転数 and スイカ != -1:
            Suica_EST = binom.pmf(スイカ, 回転数, 1.0 / float(SetData[i][5]))
            if All_EST == 0:
                All_EST = Suica_EST
            else:
                All_EST = All_EST * Suica_EST
        if 回転数 and ベル != -1:
            Bell_EST = binom.pmf(ベル, 回転数, 1.0 / float(SetData[i][6]))
            if All_EST == 0:
                All_EST = Bell_EST
            else:
                All_EST = All_EST * Bell_EST
        if BB and 三連Vテン != -1:
            Vten_EST = binom.pmf(三連Vテン, BB * 24, 1.0 / float(SetData[i][7]))
            if All_EST == 0:
                All_EST = Vten_EST
            else:
                All_EST = All_EST * Vten_EST
        if BB and 三連V上下段 != -1:
            Vtu_EST = binom.pmf(三連V上下段, BB * 24, 1.0 / float(SetData[i][8]))
            if All_EST == 0:
                All_EST = Vtu_EST
            else:
                All_EST = All_EST * Vtu_EST
        if BB and 三連V斜め != -1:
            Vn_EST = binom.pmf(三連V斜め, BB * 24, 1.0 / float(SetData[i][9]))
            if All_EST == 0:
                All_EST = Vn_EST
            else:
                All_EST = All_EST * Vn_EST
        if BB and VSゲームはずれ != -1:
            VShazure_EST = binom.pmf(VSゲームはずれ, BB * 20 - VSゲームマイナス, 1.0 / float(SetData[i][10]))
            if All_EST == 0:
                All_EST = VShazure_EST
            else:
                All_EST = All_EST * VShazure_EST
        S_EST.append(All_EST)

    # 結果の表示
    for i in range(len(S_EST)):
        print("設定", SetData[i + 1][1], ":", round(S_EST[i] / sum(S_EST) * 100,1), "%")

if __name__ == "__main__":
    # 実践データ
    # カウントしていない場合は-1を入力
    回転数 = 3415
    BB = 16
    RB = 6
    チェリー = 90
    スイカ = 69
    ベル = 275
    三連Vテン = 20
    三連V上下段 = 1
    三連V斜め = 0
    VSゲームはずれ = 40
    VSゲームマイナス = 60

    S_EST(回転数, BB, RB, チェリー, スイカ, ベル, 三連Vテン, 三連V上下段, 三連V斜め, VSゲームはずれ, VSゲームマイナス)
このプログラムを実行した時の結果はこちら。
設定 1 : 0.0 %
設定 2 : 6.1 %
設定 5 : 1.3 %
設定 6 : 92.6 %
無事に設定判別結果が出力されていますね。


にほんブログ村 パチンコブログ パチンコ情報へ
にほんブログ村

にほんブログ村 スロットブログ スロット情報へ
にほんブログ村

コメント

このブログの人気の投稿

【WEBアプリ】Sキングハナハナ-30のベル確率予想&ベル確率逆算ツール&設定判別ツール

【WEBアプリ】ハナハナホウオウ天翔のベル確率を差枚数から逆算するツール

【WEBアプリ】ハナハナホウオウ天翔の設定判別ツール