| シューティングゲームのステージの流れを関数を使ってスマートに表すアイディア |
●以下の様に,各ステージの処理を関数にまとめると良い。
・main()関数の中身が分かり易くなる(処理の流れが一目瞭然)。
・各関数を異なる開発スタッフが担当するなど,分業にも適している。
・一人でプログラムを作る場合も,関数を作成している間は,その関数の処理に集中して開発できる。

stagefuncs.cpp
/*
* シューティングゲームなどでステージ処理を分かり易く関数に分割した例
*/
/* このステージで生き抜いたら1、死んだら0を返す */
int stage1() {
/* ステージ1の処理 */
while( 1 ) {
/* 無限ループ内でゲームの処理を行う */
if( プレイヤーの負け ) return 0;
if( ステージクリア ) break;
}
return 1;
}
/* このステージで生き抜いたら1、死んだら0を返す */
int stage2() {
/* ステージ2の処理 */
}
/* このステージで生き抜いたら1、死んだら0を返す */
int stage3() {
/* ステージ3の処理 */
}
void goodEnding() {
/* グッドエンディング表示 */
}
void badEnding() {
/* バッドエンディング表示 */
}
int main( void ) {
if( stage1() == 0 ) {
badEnding();
return 0;
}
if( stage2() == 0 ) {
badEnding();
return 0;
}
if( stage3() == 0 ) {
badEnding();
return 0;
}
goodEnding();
return 0;
}