25 落ち物パズルゲーム
25番目のゲーム雑記は、「落ち物パズルゲーム」です。
落ち物パズルゲームで有名なものは、
テトリス
ぷよぷよ
コラムス
などがあります。
プログラミングの初心者がいきなりこれらの
落ち物パズルゲームを作ろうとするのはおすすめしません。
バグが出たり、うまくいかず挫折する可能性が高いです。
自分もテトリスやコラムスは作れたので、
「ぷよぷよ」をなめてかかって作ろうとしたのですが、
連結の判定でバグが出てしまって
それを取り除けないまま放置してしまったり。
テトリスは、一応、BASICでも作れました。
ただ、落とした後の判定が遅くなるので
そこはできればマシン語で作りたいところです。
最近のパソコンでの開発なら、それほど遅くなく
作れると思います。
他にテトリスを作る上で難しいところは、
操作している落ちてくるブロックを
回転させた時に他のブロックや横の壁とひっかかった時に
どういう処理をするのかを加えるとBASICでは
さらに遅くなるため、この操作性の機能は、
できあがってから後回しにする事をおすすめします。
実は、自分は、市販のテトリスをあまり遊んだ事がありません。
友達のゲームボーイ版のテトリスを何回か遊んだくらいです。
当時、まだ学生だった自分は、友達の家で遊んで
作れるゲームは自分で作ってしまおうというスタンスでした。
テトリスもそんな感じで作って、自作テトリスで遊んで満足する
という感じで、市販のテトリスに比べると遅くて
操作性も悪かったんです。
そんな自作テトリスですが、
良いところもあって、
自分でブロックの形を作って試して遊べました。
本来のテトリスの4つのブロックに加えて、
2つのブロックや3つのブロックを
加えて遊んでみたり、これはまあまあ遊べました。
5つのブロックあたりになると難易度が
上がりすぎて面白くなかったり、
4つのブロックが連結せずに4×4のマス目で
ランダムに置かれたブロックにしたり、
これも難易度高すぎてクソゲーレベルでした。
ちょっとだけテトリスの作り方を書いておきます。
全てがこの方法が良いというわけではありません。
4×4の2次元配列に作りたいブロックの
パターンをセットして、回転などはプログラムの方で行い、
予め計算して2次元配列にセットしておくと
高速になります。そうすると、3次元配列にした方がいいかも。
落ちた後の判定は、横一列に並んでいるかの
判定と、並んでいた場合の上のブロックを落とす
処理です。
この落ちたブロックも2次元配列にしておいて
判定した方が良いと思います。
BASICならマシン語で画面の文字を判定して、
横一列揃った時にその横一列の文字をフラッシュさせる
演出などもできたりするのでどのやり方が
一番いいなんて事はないと思うので
色々試してみると良いと思います。




