2018年11月5日月曜日

ゲームの進展状況79 サンダースマッシュの内部処理1

マスは68個。したがって用意すべき変数は68個。前の失敗を生かして、今度はその68個にさまざまな情報を入れることにする。
下2桁を番号(雷だけのマスは0番、配当マスも0番としておく)として、百の位を普通のマスか、雷か、配当かの区別を行う。ただし配当マスには「配当WIN」という情報もあるので、これ用にまた変数68個を作っておく。
それで空白となったマスはマイナス1を代入する。これでOK。

また、処理の都合上、たとえば左のセクションは左上から1マス目…として進む順に番号をつける。
右のセクションは右上から1マス目…としていく。
なのでたとえば40番目というマスは、右のセクションの上から2段目のもっとも左のマスということに。

このほうがあとあと処理で楽にいくのは明白である。

プログラムのおおまかなながれとしては、
ボールの番号を取得し、(ここはデジタル抽選せざるを得ない)
各マスの下2桁呼び出し、そして一致するものがあれば、雷マスに。すなわち百の位をたとえば1などにしておく。ただしもともと雷のものは操作しない。
あと演出で注意すべきは、雷マスでもともと番号だったものはそれを残すことが必要。
つまり、ここの段階で百の位が1ならば先天的雷マス、2ならば後天的雷マスと設定すればよいことが分かる。演出が関係なければこの操作は必要ない。

あとオッズアップだが、まあ適当に設定しておいて、千の位にそのようなフラグをたてておけばよい。あ…どちらかというと最上位の位取り出しのほうが容易なのでマスの種別を千の位にしようか・・・。

オッズアップにすれば別個配当マスの変数68個に対して全てを2倍。0はもともと0なので、2倍しても変わらない。いや~これは楽で助かる。


さて次は「雷落とし」である。
これは上記のマスの定めた規則によると、
31~34、65~68マス目の雷マスが重要になる。
ここは操作がしやすいように、31,32,33,34,68,67,66,65を1,2,3,4,5,6,7,8にうつす写像(ラベル付け)を定義しておいてそのラベル付けの1から初めて最初にくる雷と、8から始めて最初に来る雷を取得し、その間のマス全部を空白(-1という値)にすることにより操作は終了。ほとんど即座に思いつくほど簡単な処理らしい。(まあ8個なので、ラベル付けするまでもないか…?)

その後は左セクションは各マスの変数を全部1個ずつ次の変数の枠にシフトさせる。このとき
情報の保存のために、後ろの番号(33マス目)から処理することに注意。でないと1マス目からやると、全部その1マス目の番号に置き換わるので。
で、ちゃんと移動させたあとはマイナス1という空白になる部分があったりすることにも注意。

この移動は、34マス目が空白でなくなるまで続く。そうすれば一連の流れは終了。

あと注意すべきことは雷の落下演出。これは雷効果で消えるマスの間に雷があっても落雷するので。まあこれも上記の下8マスの情報で分かるので問題は無い。

あとはこれを繰り返すだけ。実に簡単。アニマドロップに比べて。

さあいよいよこれを実践するのみ。

新しいアニマ系ゲームの作成に伴うブログ移転

https://zisakukarako.blogspot.com/ というブログで、今度は自作カラコロッタをつくってみようということにした。 今度は自作アニマロッタ風ゲームでの反省を生かす予定。 どこまで続くかは不明。 さらに、自作アニマロッタまで作ろうと試みている...