シューティングゲームのステージの流れを関数を使ってスマートに表すアイディア |
●以下の様に,各ステージの処理を関数にまとめると良い。
・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; }