第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話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための]世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ