本サイトはほとんとがサンプルプログラムの紹介なので、main関数に処理を全て書いてしまうことも多いですが、
本来そのような設計であるべきではありません。
(サンプルプログラムだと関数分けするほどの行数にならないということもありますが・・)
処理を制御する部分はなるべく簡略化し、パッと見て処理の流れが分かるようにするべきでしょう。
例えば以下のようなメイン関数はどうでしょう。
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE),DxLib_Init(),SetDrawScreen( DX_SCREEN_BACK );
Player_Initialize(); //プレイヤー初期化
SEnemy_Initialize(); //雑魚的初期化
Effect_Initialize(); //エフェクト初期化
while( ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0 ){
Player_Update(); //プレイヤー計算
SEnemy_Update(); //雑魚的計算
Effect_Update(); //エフェクト計算
Player_Draw(); //プレイヤー描画
SEnemy_Draw(); //雑魚的描画
Effect_Draw(); //エフェクト描画
}
DxLib_End();
return 0;
}
どのようなモジュールがあって、どのような処理が行われているか、メイン関数を見ただけで分かりますね。
このように出来るだけ統一出来る構造は統一させ、制御部はスマートに制御することが大事でしょう。
今回この「ゲームプログラミングの設計」の章では、その名の通り、ゲームプログラムの設計に関するお話をしていきます。
- Remical Soft -