簡易な連鎖機能をつくりました〜

最近パズルゲームを作成中のcacaponです~
今日は「落ちものパズルゲームの連鎖」について書いていきたいと思います~

落ちものパズルゲームの連鎖の機能ってどういう風に作ればいいのかな?
…と電車の中でいろいろ考えた結果、とりあえず
簡単なものを作ってみることにしました~


考え方としては、

  1. ステージを描く
  2. 隣に消せるブロックがあったら消す
  3. 隙間を詰める

というのを繰り返す感じですね~


そして、できたコードがこちら

出来る限り簡単にした連鎖処理のプログラムです。

 

実行するとこんな感じになります~

f:id:cacapon:20191011111215g:plain


今回は横隣が同じ数字だったら消す、みたいにしています~
因みに3個消しは未対応です~

内容はコードを見れば分かる方は分かるかもですが…
隣の数字が同じだったら0にして、
下が0だったら落とす、みたいな処理にしています~

チョットめんどくさいというかコード的に美しくないなぁと思ったのが、

描画の作り方で、最初、消した時、落とした時、それぞれで描画をしています~
これどうにかならないかな…

ゲームエンジンでこれを使う場合も、描画と裏方との兼ね合いで
めんどくさそうな部分が出てきそうです~

何はともあれ、無事に連鎖の処理を作ることができました♪
こんな感じで、もっとグラフィカルなものも作ってみたいですね♪