ぷよぷよの作り方2

投稿者: | 2012年5月22日

1.はじめに

今回はぷよぷよのコンピュータの思考ルーチンの作り方を説明します。思考ルーチンも突き詰めると、かなり難しいものとなってしまうのですが、ここでは、基本的な「ぷよを消す思考ルーチン」と「連鎖を起こす思考ルーチン」を説明したいと思います。

2.ぷよを消す思考ルーチン

ぷよを消す思考ルーチンですが、基本は「総当り」です。全ての置くことができるパターンを探し、消すことができる場所を探します。

まず、操作できるぷよのパターンは4つ存在します。

これを全て置くことができる列に、当てはめていきます。

これらのパターンを、前回の「ぷよの結合チェック」を通してみて、消すことができるパターンであれば、そこにぷよをおきます。

3.連鎖を起こす思考ルーチン

次に、連鎖を起こすロジックですが、これも「総当り」です。

ワーク(直接元データをいじってしまうと、元にもどせなくなるので、連鎖が起こるかどうかをテストする場所)に元データをコピーして、実際に連鎖を起きるかどうかをテストします。

置き方によっては連鎖の数が変わると思います。そこで、総当りで連鎖の数が一番大きいものを選択します。

例えば、ネクストぷよが「①②」であるとすると、

  • 1の場合は2連鎖
  • 2の場合は1連鎖
  • 3の場合は1連鎖
  • 4の場合は3連鎖

となるため、連鎖数の多い、4の置き方を選択します。

4.仕込みの思考ルーチン

ここまでで、連鎖の方法を説明しましたが、実はこのままでは連鎖を作ることはできません。というのは、ぷよぷよは「連鎖を仕込む」という段階が必要だからです。

つまり、思考ルーチンとして、

  1. 仕込む段階
  2. ある程度仕込みができたら連鎖

という、2ステップが必要となります。連鎖については「3.連鎖を起こす思考ルーチン」で説明しました。

では「仕込み」の思考ルーチンはどうするのでしょうか。「仕込み」には、「階段積み」や「挟みこみ」などのテクニックがありますが、それらの思考ルーチンを考えるのは大変です。

そこで、以下の方針で実装を行うと楽です。

  • 操作できる2つのぷよの色が、くっつく場所を探す
  • 4つ以上くっつくところには配置しない

ぷよぷよの基本はくっつけるところにあるため、とにかくくっつけることができる場所を探します。ただ、消してしまうと連鎖の種が消えてしまいますので、消さないようにくっつけます。

これで、ある程度のレベルのコンピュータの思考ルーチンはできると思います。ただ、プレイヤーが連鎖を起こしたときの反応など、まだまだ煮詰めるところはあると思います。