PHPによるスロットシュミレーターについて
昨日、突然思いついてPHPでシュミレーターを作成しようとしている。
最近の機種に関しては解析数値が出回るのも早く、ハナハナなどの純Aタイプに機械に関しては比較的容易に開発が可能と考えた。
まずはDBを利用せず、直接定数をスクリプトに埋め込む形式で作成してみたが、案外面白いものができそうな雰囲気。各種小役確率とBIG及びREGの純増枚数が分かれば詳細な差枚数と機械割も算出できる。
一番の肝と思われる「抽選のアルゴリズム」に関しては様々な生成方式が考えられるが、まずは複雑な事は考えずに一番シンプルに確率を実践できる方法を取った。以下、その方法を書きとどめてみる。
1.1プレイに該当機種の設定1の300倍のフラグが存在すると仮定する。例えばスペシャルハナハナであれば、設定1のBIG確率は1/327である。単純に327x300で98100の選択肢が存在すると仮定する。この98100の全フラグの中にBIGは300個存在することになる。同様にREGは1/546なので98100/546となり179.67個となるが、小数点以下は四捨五入で180個のフラグをマッピングする。
2. 実際の機械も同じようなマッピングをしていると考えられるが、当たりフラグを散在させるのかそれともまとめてひとつの場所に置くのかは不明だが、スクリプトを簡素化する意味でも、上記の方法で算出した当たりフラグ数を1プレイ当たりのフラグ総数の1から積み上げてゆき、PHPの乱数生成関数であるrand()を利用して抽選する。
3. つまり、98100個の総フラグのうち、1~300までがBIG当選フラグ、300~480までがREGフラグ、そこからベル、スイカ、リプレイ、チェリー等の当たりフラグを積み上げて、残りの部分を全てハズレフラグとする。
この方法でまずは当たりの偏りを検討して、果たして実機に近い挙動となるのか、それとも実際の機械とは乖離した数字になるのか検討してみたい。
最近の機種に関しては解析数値が出回るのも早く、ハナハナなどの純Aタイプに機械に関しては比較的容易に開発が可能と考えた。
まずはDBを利用せず、直接定数をスクリプトに埋め込む形式で作成してみたが、案外面白いものができそうな雰囲気。各種小役確率とBIG及びREGの純増枚数が分かれば詳細な差枚数と機械割も算出できる。
一番の肝と思われる「抽選のアルゴリズム」に関しては様々な生成方式が考えられるが、まずは複雑な事は考えずに一番シンプルに確率を実践できる方法を取った。以下、その方法を書きとどめてみる。
1.1プレイに該当機種の設定1の300倍のフラグが存在すると仮定する。例えばスペシャルハナハナであれば、設定1のBIG確率は1/327である。単純に327x300で98100の選択肢が存在すると仮定する。この98100の全フラグの中にBIGは300個存在することになる。同様にREGは1/546なので98100/546となり179.67個となるが、小数点以下は四捨五入で180個のフラグをマッピングする。
2. 実際の機械も同じようなマッピングをしていると考えられるが、当たりフラグを散在させるのかそれともまとめてひとつの場所に置くのかは不明だが、スクリプトを簡素化する意味でも、上記の方法で算出した当たりフラグ数を1プレイ当たりのフラグ総数の1から積み上げてゆき、PHPの乱数生成関数であるrand()を利用して抽選する。
3. つまり、98100個の総フラグのうち、1~300までがBIG当選フラグ、300~480までがREGフラグ、そこからベル、スイカ、リプレイ、チェリー等の当たりフラグを積み上げて、残りの部分を全てハズレフラグとする。
この方法でまずは当たりの偏りを検討して、果たして実機に近い挙動となるのか、それとも実際の機械とは乖離した数字になるのか検討してみたい。
コメント