言語村 トップページ






皇帝流
テトリスの作り方
トップページ




皇帝流テトリス





皇帝流テトリスの作り方

皇帝流テトリスの作り方トップページへ戻る


その1 どんな処理が必要か考えてみよう



ひろちゃん皇帝 すかじい、
テトリスを作るって、どういう順序で作ればいいの?
ゲームを作ろう、って思っても、何から手をつければいいのか判らないや。
すかじい うおっほん。
では、作成前に、どのあたりが難しいか、考えてみるぞい。
実際に作業を始める前に、大体の流れを考えておくことは、プログラムを作る上で大事なことじゃ。
りな姫 作戦会議ってことね

すかじい
ちょっと考えてみれば、テトリスというゲームが非常に複雑な処理を行っていることが判ると思う。

ひろちゃん皇帝
たとえば?

すかじい
そうじゃな、たとえば、ブロックの回転は、どうやっていると思う?

ひろちゃん皇帝
ブロックの中心を軸にして、ぐるぐる回しているんでしょ?

すかじい
と思うじゃろ。実際に回してみると、どうじゃ?

リナ姫
■■ ←これは回しても回さなくても同じ形ね。
■■

□■
■■ ←これはこの辺が中心なのかな?
■□

■■■■ これを回転させると・・・。
あれ?
□□■□
□□■□
□□■□
□□■□

□■□□
□■□□
□■□□
□■□□
のどっちにすればいいの?????

すかじい
ふぉっふぉっふぉ。うまく回せないじゃろ。

ひろちゃん皇帝
え〜?? すかじい、どうすればきれいに回せるのだ?
■■■
□□■
も、よく考えてみると回すのが難しいな・・・・。

すかじい
まわそうと思うから、うまく回らないんじゃ。
全く違う形に変化する、と考えると、楽にプログラムできるぞ。
その辺は、後で実際にプログラムを見て考えてみよう。

もっと難しいこともあるぞ
いくつかあげてみよう。
どうやって1列揃っているかを判断するのか?
移動するブロックの下に別のブロックがあると、次のブロックが落ちてくるわけだが、下に別のブロックがあるという判断をどうするのか?
移動するブロックの先に別のブロックがあると移動できないわけだが、その判断をどうするのか?

ひろちゃん皇帝
あ〜、なんか頭痛くなってきた・・・。
すかじい、どうすればブロックが移動できるか判断できるんだ?

すかじい
詳しくは後で説明するが、実際に表示されている画面というのは、いろんな判断をした最終的な結果が表示されているのじゃ。
表示されている画面でいろんな判断をしているのではなく、変数に現在の画面の情報を保存しておき、その変数の中でブロックを動かしてみて、正常に動かせるのか判断しているんじゃ。
このへんを頭に入れて、ソースを見てみよう



その2 HTMLで枠組みを作ってみようへ続く・・・