このブログ内を検索可能

2022年5月4日水曜日

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

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

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

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

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


自作メテオボンバー⑤ 連鎖処理一部完成

 とりあえずHITからの落下処理を作りその後連鎖処理を爆弾の上昇処理を除き完成。

HITした場所に[HIT!]と表示されるようになり、そのマスが消える。
そして落下してますが隣り合った場所が連鎖により消えて
さらに連鎖により隣り合う同じ色のマスが消えていることが分かる。

が先ほども言った通り、連鎖のマスに爆弾が含まれていた場合に、上昇し後で落とす処理ができていない。というわけで次はそれを作るまたは爆弾の起爆処理を行うことになる。
逆にいえばこれらができれば最終配置が分かることになる。

まあとりあえずは演出などがそこまで面倒でもない爆弾の上送り処理か…。


自作メテオボンバー④ 数字配置

 とりあえず数字をシャッフルし、さらにそこにランダムで爆弾などを付与するところまでは行った。まあまあ行ってそうにみえるが、これでも初期配置を指定しただけである…。

なんかメテオなどの存在感が薄いがそのあたりはまあ後々調整するとして、ここからHITによる爆発または消去、そして連鎖処理を行うこととなる。一応連鎖処理は演出付きで準備をしているが、それにつなげるためには先ほどの処理が必要となる。
ここからがいよいよメインの処理となる。


自作メテオボンバー③ ゲーム開始準備

 いつぞやの8ゲームBETシステムを引っ張ってきて、また数字が宝箱に収まるように微調整。

ここまで行けば次はいよいよゲーム開始時として、番号と爆弾の配置を行うことになる。
そのために「指数」として、どれくらい番号が上や下に偏るかの指標を導入したいのだが、その指数をどう実際の配置に反映するかは知らない。まあここは別に後付けにして、とりあえずランダム配置してもよさそうである。