第14講 ブロック崩しその2

第5話 ブロックを消すには?
@の後半の当たったらブロックを消す方法を考えましょう。
実は、消すというよりいかなる条件のときに、
ブロックを描くかと考えた方がよいでしょう。
というのは、ゲームプログラミングでは、
1フレームごとに、
  while (ScreenFlip() == 0 && ProcessMessage() == 0 &&
ClearDrawScreen() == 0) {
    if(m==0)hajimennogamen();
    if(m==1)gamemain();
    if(m==2)make();
    if(m==3)kachi();
  }
ClearDrawScreen() が作動して、毎回画面を消しています。
ですから、描き直さなければ、自然に消えます。
現在、すべてのブロックが残っているのは、
毎フレームごとのに、
  char i,j;
  for(i=0;i<10;i++){
    for(j=0;j<10;j++){
      DrawBox(60*j,70+20*i,60*(j+1),70+20*(i+1),irosentaku[(10*i+j)%3],true);
    }
  }
によってブロックを描き直しているからです。
ブロックを描くのを条件付けてやれば、
ブロックは自動的に消えます。

そのためには、グローバル配列
char arunasi[10][10]; //ブロックのあるなし 0:なし 1:あり
を用意して、
syokika()ですべて、ありの設定にしておいて、
ブロック当たりの判定が出たら、
その配列の値を0にすれば、
該当ブロックは消えてくれます。

では、皆さん粘り強くボールがあったたら、
反射させてブロックが消すプログラムに挑戦して下さい。



第4話へ   第6話へ

第2部目次に戻る  第1部目次に戻る

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

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