2018年11月29日木曜日

自作カラコロッタ12 連続判定1

同じ色が連続した場合、配当に倍率補正がかかるというのはサルサルベージの特徴である。


しかしこれを実装するのは、ちょっと難しい。


どうするかというと、まず各カラー(我の場合は17種類としてその中に複合ポケットやアウト、SPも入れている)がどの色を包含するかを示す関数をつくっておいて、それを順次ある変数群?に代入していく。新たに入賞したボールにもこの操作をやって、そこから包含する色を同じ手順で探って、その色に対して1球前、2球前…とさぐっていき、各色にたいして探った後その色の中での最大値をとれば、その最大値分くらい現在球数からさかのぼれば連続となるものの最初ではないか、というかんがえである。以下に例を示す。


     3球目 4球目 5球目
赤    1     1    1
黄    0     1    0
緑    0     1    0
青    0     1    1
ピンク  1     1    0
アウト  0     1    0


例えばこの場合、もし6球目が青、ピンクの複合ポケットに入ったとする。すると青、ピンクがどれだけかこにさかのぼってあったかを考える。
上の場合、赤が3連続、という状況であるが、同時に青も2連続、という状況。
定義から、もし5球目が赤を包含していなければ3球目は消えて4球目スタート(青での連続)ということになる。話を戻す。
ピンクは、すでに5球目でないのでもうだめ。
しかし青は、4球目から連続している。そしてこれがさかのぼりの最大値である。
となると4球目を開始地点として3つ青で連続、という状況になる。
もし6球目が赤を包含していればやはり定義からさかのぼりの最大値は赤になるので3球目はすえおき。


このようにして連続開始地点を探ろう、という方法をちょっと考えてみた。


なお、上の表で、3個以上の包含はSPを除いてない。定義からSPはオールマイティなので全色対応。アウトもたぶん含む。




この一連のオッズアップ操作に加え、あーむが動いて宝物を発掘できれば、いよいよサルサルベージのりんごの部分を除く基礎がある程度完成する。そうしてようやくPO率管理を示すデバッグメニューなどの作成にとりかかれるわけである。


そして本日午後、かなり苦労してようやく連続判定完了。
何気にこの連続の判定、かなり難しいと思った。複合ポケットがあるためにその難易度がやはり上昇している。カラコロッタのサルサルベージのPO率を割り出した人物ははたしてこの部分のプログラムを容易に完成させた…?だとするとすごいが…。