アプリケーション開発論[第3回]
■ ゲームのプログラム
前回までで、変化ある(リアルタイムな)アプリを作る基本を身に付けられたと思います。今回は、ゲームの適用例を示したいと思います。
int main_mode;
int sub_mode;
main()
{
int flag = TRUE;
main_mode = 0;
sub_mode = 0;
while (flag) {
switch (main_mode) {
case 0: /* アプリ初期化 */
/* ほげほげ */
case 1: /* タイトル画面 */
/* ほげほげ */
case 2: /* ゲーム本体 */
switch (sub_mode){
case 0: /* ゲーム初期化 */
case 1: /* メイン処理 */
...
case N: /* ゲーム終了処理 */
}
break;
case 3: /* エンディング画面 */
/* ほげほげ */
case 4: /* アプリ終了処理 */
/* ほげほげ */
}
/* 共通処理 */
}
}
とりあえず、簡単なゲーム構造を示してみました。共通処理は、すべてのmain_modeで共通した処理(フリップ処理など)を示します。それぞれのmain_modeで、前回までの方法が階層的に適用されます。実際の開発では、main_modeごとに分担したり、大きい場合はもっと細かく分割したりするでしょう。だいたいのアプリは1ループで1フレームを処理します。
これで、リアルタイムなアプリ開発のための基礎的なテクニックは身についたと思います。ループごとに実行されるコードを振り分けるということがわかればプログラマへのスタートラインに立つことができるでしょう。
- 2000年3月10日 -