第15講 テトリス(4つのブロックを描くまで)
第10話 L字ブロック・N字ブロックを描く

011を実現するコード例
void block(){
  int x,y;
  int i;
  
  chizu[2][2]=2;
  chizu[2][3]=2;
  chizu[2][4]=2;
  chizu[3][4]=2;

  chizu[5][3]=2;
  chizu[5][4]=2;
  chizu[6][4]=2;
  chizu[6][5]=2;
  
  for (x = 0; x < 12; x++) {
    for (y = 0; y < 27; y++) {
      if (chizu[x][y] == 2) {
        DrawBox(20 * x, 20 * y, 20 * (x + 1) - 1, 20 * (y + 1) - 1, kiiro, true);
      }
    }
  }
}
コピペ用添付ファイル

今回のコードはまったく褒められたものではありません。
理由はおわかりですね。
人間が同じことを繰り返していること、
さらに、汎用性(普遍性)がまったくなく本当に個別的に答えています。
プログラムでは、これでは使いものになりません。

テトリスとの場合ブロックが4種類、回転状態が4通りありますから、
4×4=16通りの場合があります。
いずれの場合での、統一的な1次元for文で実現できなければ、
テトリスの開発は、海の藻屑となります。
はかない夢になります。

しかし、3次元配列を使えば、
16通りのケースに統一的に応えることができます。
すべて同一の1次元for文で対応できます。
では、どうしたらよいのか。
第16講第1話で考えてみたいと思います。




第9話へ  第16講第1話へ
a

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

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座

初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ