第8講 テトリス開発(4つのブロックを一元的に描くまで)
第1話 ブロックの全パターン
ブロックの全パターンを挙げてみましょう。
赤の正方形が回転の中心です。

001 002 003 004
005 006 007 008
009 010 011 012
013 014 015 016
この16パターンが全パターンです。
長方形・正方形・L字・N字の4種類があり、
それぞれの回転状態が4つあるので、
4×4=16
通りのパターンがあるわけです。
16パターンを1つの1次元for文で、扱えるようにするにはどうしたらよいでしょうか。
パターンごとにfor文を用意したのでは、
16種類のfor文になってしまいます。
それに、長方形は簡単ですし、
第7講で見たとおりに、正方形でもちょっと工夫すると、
比較的に簡単に実現できましたが、
L字とN字になると、1次元for文で実現するとすると、
見当も付かないというところではないでしょうか。

すべてのパターンを1元的に扱うにはどうしたらよいかを考えるために、
赤い正方形の座標を(x,y)としたときに、
座標がどうなるかを見てみましょう。
まず、
001から。
4つの座標は、左から順に
(x-1,y),(x,y),(x+1,y),(x+2,y)
ですね。
(x-1,y)は一番左の正方形です。
赤の正方形よりx座標だけが1つ小さいですね。
(x+1,y)は正方形に右隣の正方形です。
今回は、x座標だけが1つ大きいわけです。
同様に、(x+2,y)は一番右側の正方形の座標で、
x座標だけが2つ大きいわけです。
では、002の場合について同様にすべて書き出してみて下さい。
答えは、例によって30行下に書きます。
























002
(x,y-1),(x,y),(x,y+1),(x,y+2)
です。
では、同様にして全16パターンについて同様に書き出して下さい。

第7講第9話へ  第2話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ