今度は、指定されたマスに指定された色をつけるというプログラムを考える。
これは、都度プログラムを呼び出すことが考えられる(よく使うプログラム)ので、引数をあたえておくことが望ましい。なお我は変数を1~91、ピクチャ番号を101~191として使用しているので、これの関係は100をたす、ということになるので、ピクチャ番号を指定するにはマスの変数に100をたした値を提示すればよい。もうひとつの引数は色。これは、まあ、0を白、などとして場合わけして対応させるだけ。そして20マス目、青と指定すればこうなる。
これにより、各91マスの変色が可能になった。
さてここからは、ナンバーがヒットすればその周囲のマスの色が変化するプログラムを、上のプログラムを参考にして作る。
たとえば1マス目がヒットすればとなりの2マス目と、そのしたの2マス分(マス目でいうと7マス目と8マス目)の色を変更する。しかし、自然に順序良く並んでいないので(作為的に配置している)この操作を個別のマスごとにせねばならないのが難点。
しかしここは根気よく、各段にわけてやっていくのだがその前に。
色が変化はそこのHIT回数に依存する。よって変数と紐付けせねばならん…。
これまでは変数の値に応じて演出を後付していたが、今回は演出後変数をいじる、という操作を行う。こうすれば91個の場合わけが不要。
具体的にはこうする。
対象マスがたとえば20ならば、ピクチャ番号はこれに100をたしたもの。
そして我はV1[20]を20マスの状況として使っているのでたとえば青になればここに1を入れたい。
そこで我ははじめて画期的な案を考案した。
まず、値を呼ばないようにしてこの変数2100000+20を計算させる。つまり2100020である。
これはV1[20]と同値である。値を読んでしまうと2100000が即座にV1[0]として与えられるのでだめ。mathematicaのHoldFormと似たような感じ。
そして新たに生まれた変数(まだここでは実数扱い)2100020を、今度は変数として代入先にする。
このときにX番の変数呼び出しを使う。
そうすれば、この2100020がV1[20」という代入先を指定してくれ、そこに対象マスの状況1を入れることができる。その確認はF9キーにより容易である。
すると、演出だけで変数の格納も行えたことになり、しかも場合わけもなくなり、プログラムがすっきり。ちょっと前ビンゴプログラムをつくったときは余裕で1つのプログラム5000オーバーとかがあったので。
さていよいよHITした場合周囲6マスの色をグレードアップさせる、という処理を行う。
これは、各はしっこの円(以降ドロップという)は左や右にドロップが存在しないので、場合によっては存在しない変数や見当違いな変数に勝手に値を代入してしまうので場合わけ。
たとえば1マス目なら自身と、右と、左下、右下のみしか色は変化しない。
しかし2マス目ならこれに加えて左も変化する。
真ん中あたりのマスなら、自身と周囲6マス全部の色が変わる。
そして各段について、周囲6マスの座標は対象のマスが増えれば同様に等しく増えるので、ここは楽ができる。
するとこれによって場合わけは、11段あり、さらにそのそれぞれで左と右端を別に扱う、ということなので33種類必要になる。これでもちまちま91個やっているよりは、効率が3倍になるので良い。
そうすると、我の目的の反応が演出、変数共に行われることになるんや。
たとえば対象マスが1ならば上記のようになる。
実際はもともとが0=白なので、次の色である青を出すようにしている。
もちろん、もともと1マス目が青、2マス目が緑、7マス目が赤、8マス目が紫ならそれらのひとつ上の色(紫は次も紫)、緑、黄、紫、紫を返すようになっている。
あとはこれを全マス91個に適用。
この変数呼び出しを使うことで、91個の極めて面倒な処理を非常に楽に行えるようになり、こういうたくさんの変数を扱うプログラムの操作が容易となった。
たとえば2マス目ヒット→3マス目ヒットならば、下のようになる。
かぶっているところはグレードアップするので緑色に。
これでまさに我の理想の形ができた。
実はこれを作る際、いちいち各マスの色状況を示す変数を呼び出す必要があったので、これを導いてくれるイベントをさらに別に用意した。
あとはこれを全マスに適用すれば、実はもうゲーム自体はかなりいい線まで行っているのである。
まあとりあえずこれから全マスに適用してみる。
2018年2月5日月曜日
新しいアニマ系ゲームの作成に伴うブログ移転
https://zisakukarako.blogspot.com/ というブログで、今度は自作カラコロッタをつくってみようということにした。 今度は自作アニマロッタ風ゲームでの反省を生かす予定。 どこまで続くかは不明。 さらに、自作アニマロッタまで作ろうと試みている...
-
JPCは、大量のボールで抽選するアニマドロップ風のゲームにしようと考えた。 そのためには、まず形状(本物は板?状)を考える必要があり、 そして次に落下の判定が必要。 上とつながっていないドロップを全部落とす、というもの。 これについて、いい案が思い浮かんだ。 まず全...
-
我はついにBETタイムを設定し、さらに右側のゲームタブにリーチ情報を付け加えた。 リーチは、3倍以上、10倍以上、50倍以上とシンプルに分けられていて、リーチが5個以上あれば流れるようにスライドするという、本家とおなじもの。
-
ちょっと画面がさびしいので、ドロップがどれくらいの確率で生成されるか書き加えてみることにした。…リーチ処理は処理が重すぎて断念。またいずれ。 これでプレイヤーは次何がどんな確率で生成されるのか期待を持てる。 右側には全消しの回数や特定のマスで大量消えを示すものや、GE...