なつい(し、作りがひどい)。
ちょっとハー子を最近プレイして気になったのでソース眺めてハー子解説その2です。
●まず変数yokokuを生成
これが後にどのリーチになるかのベースになる。少ない程偉い。
確変時
yokoku = Math.floor(Math.random()*185)-hamari;
(0~184の範囲をランダム生成してハマリ回転数を引くハマリ防止機能その1)
今まで一回も当たってなかったら
yokoku = Math.floor(Math.random()*335)-hamari;
通常時
yokoku = Math.floor(Math.random()*385)-hamari;
炎演出(左右の燭台の炎がちょっと強まる地味なやつ)でさらにちょっと減る。炎演出は3%でyokokuを-20する。30%で-6とかで6段階ある。
炎演出後のyokokuの数値によって
ステップアップ演出しつつ変数yokoku_hensuuを生成。
41~60(暗くなる) yokoku_hensuuが1になる
31~40(ロウソク1) yokoku_hensuuが2
16~30(ロウソク2) yokoku_hensuuが4、確変ならそれに+3
5~15(空と雷) yokoku_hensuuが6、確変ならそれに+3
-8~4(ほとんど出現) yokoku_hensuuが10、確変ならそれに+3
-9から先(首とれる) yokoku_hensuuが13、確変ならそれに+3
●変数yokoku_hensuu
後にどのリーチに振り分けるかに使う。大きいほど偉い。ステップアップ予告の時に生成されて、その後演出でどんどん数値がプラスされてく。
ハマリ防止機能その2が働く。
通常時は5ハマり以下で+0、10ハマリ以上で+1、15ハマリ以上で+3、20ハマリ以上で+4、25ハマリ以上で+5,30ハマリ以上で+6、それ以上で+8される。
確変時は
<5で+1
<10で+2
<15で+4
<20で+6
<25で+7
<30で+8
他は+10。
その処理の後に確変時なら+4、そうでなければ-1される。
この雑な付け足しは、多分ある程度テストプレイした後で確変時にさっさと当てる為にやってるな。
●強制リーチ処理
if(yokoku <= (Math.floor(Math.random()*5)+15))
変数yokokuが15~20以下なら絵柄を書き換えてリーチ。
自然に1/12とかで揃ってもリーチになる。
●フクロウ演出
リーチがかからなかった場合、確変時1/15、通常時1/30でリーチになる。これ自体はyokoku_hensuuに影響がないので弱い。
確変時はこれでもハー子やダブルに繋がるので楽しげ。
●リーチ時の特殊音
強演出。
5%でyokoku_hensuuに+11。
1%でyokoku_hensuuに+21。
●リーチ時ハー子カットイン
強演出その2。
確変時それぞれ1/20。通常時は1/40。
小さいハー子でyokoku_hensuuに+12。
大きいハー子でyokoku_hensuuに+15。
大人モードだとここの大きいハー子がちょっと動いてお得。
●リーチ時の処理
変数reach_furiwakeとyokoku_hensuuを使って振り分ける。
確変数値ならば
1/3でreach_furiwakeを15~30で生成
2/3でreach_furiwakeを9~23で生成
確変数値でなければreach_furiwakeを6~18で生成
reach_furiwakeから今まで演出で育ててきたyokoku_hensuuを引いて
-6以下 ホウキ
-2以下 トロル
2以下 ダブル
7以下 ハー子
8以上 通常リーチに飛ばす。
確変時はちょこちょことyokoku_hensuuにプラスポイントが入るので確変時やたらとホウキに飛ばされるのはこれ。リーチそれぞれは確変時と通常時で多分当たる確率変えてないので、どのリーチに振り分けるかで当たりやすさを調整してるはず。
今回はここまで。
なんかスクリプト的なこととかプログラム的な知識がほぼゼロの状態から追加されてったやつなので色々やってますね……。そのうち乱数はなんでも100で作って%で管理するようになるんだけど手探り感でやたら複雑なことになってる。最初はノーマル、ハー子、トロルの3種しかリーチ無かったからそんなに問題なかったんだろうけど、ダブル、ホウキ増やした後のバランス取りは結構苦労した思い出があるな。
普通は確変率1/2をやりたければMath.floor(Math.random()*512)で1なら通常2で確変とかってしてあとの演出はそれを元に変えるだけなんだけど、リーチ時の処理と膨大なテスト回転数で強引に1/2に近づけてる。
次書く時は各種リーチ周り見るぞ。