このブログ内を検索可能

2022年5月4日水曜日

自作メテオボンバー⑥ 爆弾上昇処理

 とりあえず演出だけそれっぽく爆弾が上に行くようにした。

本当はなんかほかにきらきらみたいなエフェクトがつくが、まあこれはいつでも作れるだろうから置いておく。次はもちろん上部に保留される爆弾の配置である。
ここで気を付けたいのが、例えば上の画像で2列目を見ると7,15が爆弾として上昇しているが、これが落ちてくる時はやはり上に7、下に15と位置関係が保存される。
ただしその次の連鎖が起こり、新たに例えば11番などが爆弾として上昇した場合、この場合落下してくる2+1個の爆弾は上から11,7,15となる。
これをプログラミングで組む際は、というかすでにmathematicaでやっているが、
9個の要素をもつベクトル(配列)を7個準備して、爆弾となったマスの剰余をみてそのあまり(例外的に0ならば7とする)が列数を表すので、その配列に順番にぶち込んで行って、次また連鎖で爆弾が生成したらその爆弾の個数だけシフトして、新たに空いたところにその番号を入れるという作業を行う。
そして爆弾の各列ごとのリストを生成したら、あとは上からつめて配置してそれを先ほど作った落下処理のように落として配置するだけである。
まあこのあたりは何年も前にチェーンボンバーでやっているのでそれと基本一緒(ただしプログラムはより簡潔になるようにしている)の作業をすればよいのである。ただし新たに作ったほうが早い。
それができればあとは爆弾の起爆と誘爆処理。それができればとうとう最終結果を得ることができる。試験勉強がなければあと1,2日でそこまで到達するだろうが、試験にも時間を割かねばならずこれはその息抜きなのでそれから逃げるわけにもいかない…。

以下はそれにさらに爆弾落下個数示唆、落下処理まで加えたものである。
これにより連鎖後の爆弾上昇、加えてそれが落下する処理は完了した。
となればあとやるべきなのは最も大変(面倒)であると思われる「連鎖処理」である。

まず各メテオや爆弾でどのマスが次に消えるのかという定義と、それに対する演出を作る必要がありこれはなかなか簡単にできない。