このブログ内を検索可能

2022年4月10日日曜日

メテオボンバープログラム簡略化したい

 現在絶賛稼働中のメテオボンバープログラムだが、やはり100回の試行に3~4秒かかっているようでは、1000000回の試行に30000~40000秒と、9時間~11時間やはりかかっているので1つのパターンをある程度調べるのに半日かかってしまう。これはさすがにつらいので、なんとかして処理の低減化を図れないか考えている。

一応我のメテオボンバープログラムは以下の部位に大まかに分けられている。

①HIT処理、該当マス消去、爆発フラグ起動等

②爆発時爆発の広がりループ、宝箱オッズアップ

③爆弾の上昇

④マス落下処理

⑤連鎖処理 ④へ戻る。連鎖がなければ⑥へ

⑥爆弾落下処理

⑦宝箱開閉判定(都度必要。でないと既開封箱がオッズアップしてしまう) 終了まで①から

⑧最終オッズ判定、結果取得、次ゲーム準備

これらからなんとかして処理の軽減をしたい。もし半分にでもなればかなり強力。

以下プログラムの一部。

実はたぶん無駄な部分が結構あるが、おそらく処理速度に影響を与えないし変に消しておかしくなったら嫌なのでそのままにしている。爆弾が保留されていくプログラムの部分とかをもう少し簡略にできないか…。チェーンならば各列に順番は関係なく最終結果を得られるのだが…。メテオボンバーは爆弾の並び順が特殊な方式に従って決まるのでそこをとりあえず再現して、以降そのままになっている。ただここを変えた時はちゃんと変えた後も同一の結果を得るかどうかを念入りにチェックしなければならない。