マッチ3パズルのゲームロジック

BejeweledやZooKeeperみたいな、ストーンを3つ揃えたら消えるパズル(マッチ3ゲーム)を作りたいけど、どういうロジックをプログラミングすればいいかなぁと悩んでいる人には、下の本が役に立つかもしれません。
Cocos2d for Iphone 0.99 Beginner’s Guide
Pablo Ruiz
1849513163
Cocos2D用の洋書なのですが、最初のゲームサンプルがマッチ3パズルのサンプルになっており、マッチ3パズルを実装するための基本ロジックが紹介されています。3つ揃ったかどうかのチェックや、ゲーム開始状態で3つ以上並ばないようにするといった具体的なアプローチが紹介されています。
僕は1年ぐらいまえにCocos2Dで本の通りに作ってみて、最近この本を参考にCoronaSDKに移植してみました。
Cocos2Dは左下が(0,0)の座標系なので、そこだけ注意すればFlashだろうがCoronaSDKだろうが同じ考え方で移植できました。

最近でも、なめこのマッチ3パズルが登場したり、何かと重宝されるスタイルのパズルなので、アプローチだけでも把握しておくのも楽しいかと思います。

追記:ただし以下の処理については触れていないので自分で考えて実装することになりそう

  • ストーンが3つ揃わない場合でも動かせてしまう
  • どのストーンを動かせば揃うかは、動かす前にはわからない
  • 上の理由で、盤上の動かせるストーンがない場合の判定ができない

とはいえ、マッチ3パズルの骨子としてはよくできているので、本を参考にして、あとは上の処理を実装するのが近道かと。