第10講 プログラムソースを複数のファイルに分割して、プログラムをわかりやすくする
第5話 社員名main()をgamemain()に変更しグローバル定数をなくす
以降は横800縦1000にして話を進めています。
800で進めてきた方は1000を800にするなど変更して読み進めてください。
第3話課題コード例
・・・
int s_y = 10, s_t = 4; //ブロック横数と縦数
・・・
int houkougae = -1; //ほうこうがえ 方向チェンジ
・・・
void syokika(); //しょきか 最初はブロックがすべて存在している状態にする。
void atarihantei(); //あたりはんてい ブロックへの当たりの判定を行いブロックに対応するa[?][?]に0を代入する
void gamemain(); //ゲームを進行させる社員
void saisyonogamen(); //さいしょのがめん ゲームの初期画面を描く社員(関数)
・・・
int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
・・・
SetDrawScreen(DX_SCREEN_BACK); //裏画像を描画対象に加える
while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {
switch (m) { //mはゲームの状態 0:ゲーム始め 1:ゲーム 2:ゲームオーバー 3:ゲールクリア
Case 0:
saisyonogamen(); //さいしょのがめん ゲームの初期画面を描く社員(関数)
break;
Case 1:
gamemain(); //ゲームを進行させる社員(関数)
break;
Case 2:
make(); //まけ ゲームオーバを描く社員(関数)
break;
Case 3:
kachi(); //かち ゲームクリアを描く社員(関数)
break;
default:
break;
}
}
・・・
}
・・・
void gamemain() {
・・・
}
・・・
コピペ用添付ファイル
では、いよいよ少しずつ分離独立させていきましょう。
9人の社員
void maru(); //bar(バー)区別するためにボールをmaruとする maru用の変数はmx等と表す。
void sikaku(); //bar(バー)と区別するためにblock(ブロック)をsikaku(しかく)とする。sikaku用の位置を表す変数はsy、sxとする。
void bar(); //bar(バー)の位置を計算して、その位置にバーを描く仕事する社員(関数)
void syokika(); //しょきか 最初はブロックがすべて存在している状態にする。
void atarihantei(); //あたりはんてい ブロックへの当たりの判定を行いブロックに対応するa[?][?]に0を代入する
void gamemain(); //ゲームを進行させる社員
void saisyonogamen(); //さいしょのがめん ゲームの初期画面を描く社員(関数)
void make(); //まけ ゲームオーバを描く社員(関数)
void kachi(); //かち ゲームクリアを描く社員(関数)
を独立させて、それぞれ
maru.cpp、sikaku.cpp、bar.cpp、syokika.cpp、atarihantei.cpp、
gamemain.cpp、saisyonogamen.cpp、make.cpp、kachi.cpp
に仕事の内容を書き込み、
maru.h、sikaku.h、bar.h、syokika.h、atarihantei.h、
gamemain.h、saisyonogamen.h、make.h、kachi.h
で使う社員名を教えることにしましょう。
当然ヘッダファイルmain.hも必要になります。
第4話へ 第6話へ
初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための]世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップ