第7講 ブロック崩しその5(得点のカウントと表示・ゲームはじめの画面とゲームの切り替え・ゲームクリアとゲームオーバー画面表示)
第3話 ゲームの切り替えの基本的考え方
ではどのようにしたら、ゲームを切り替えることができるでしょうか。
次のような骨組みを組みます。
・・・
void main(); //ゲームを進行させる社員
void saisyonogamen(); //さいしょのがめん ゲームの初期画面を描く社員(関数)
void make(); //まけ ゲームオーバーを描く社員(関数)
void kachi(); //かち ゲームクリアを描く社員(関数)
・・・
int m; //ゲームの状態 0:ゲーム始め 1:ゲーム 2:ゲームオーバー 3:ゲームクリア
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
  ・・・
  m=0;
  SetDrawScreen(DX_SCREEN_BACK); //裏画像を描画対象に加える(2017/06/28追加) 画面のちらつき対策
  while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
    if(m==0)saisyonogamenn(); //さいしょのがめん ゲームの初期画面を描く社員(関数)
    if(m==1)main(); //ゲームを進行させる社員
    if(m==2)make(); //まけ ゲームオーバーを描く社員(関数)
    if(m==3)kachi(); //かち ゲームクリアを描く社員(関数)
  }
  ・・・
}
void make() { //まけ ゲームオーバーを描く社員(関数)

}
void kachi() { //かち ゲームクリアを描く社員(関数)

}
void main() { //ゲームを進行させる社員
  maru(); //ボールの位置を計算して、その位置にボールを描く社員
  atarihantei(); //あたりはんてい ボールがブロックの当たったの判定をする社員
  sikaku();
  //ブロックの位置を計算して、その場所にブロックを描く社員
  //将来的には当たったら消えるようにする仕事も担当する
  bar(); //バーの位置を計算して、その場所にバーを描く社員
  SetFontSize(32); //フォントサイズを32に変更
  DrawFormatString(400, 800, siro, "ゲームスコア:%d", tokuten); // 文字を描画する
}
vodi saisyonogamen(){ //さいしょのがめん ゲームの初期画面を描く社員(関数)

}
後はいかにして、ゲームを切り替えるかですが、
とりあえず、ゲームの最初の画面

が出るように、

vodi saisyonogamen(){ //さいしょのがめん ゲームの初期画面を描く社員(関数)

}
にコードを入れてください。

第2話で作った画像の背景が白ですから、
画像を描く場合に
DrawBoxを使い、ゲーム画面全体を白にしておいて下さい。
ペイント作った画像は、
DrawGraph(*, *, *, true or false);
においてtrueまたはfalseのどちらを選んでも、
枠部分を透明にすることはできないからです。


また、Zキーを押すとゲームが始まるようにもしてください。


第2話へ  第4話へ
a

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

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