アプリケーション開発論[第1回]
■ アプリケーションを作るとは...
アルゴリズム+データ構造=プログラムっていうのがありますけど、これだけじゃあアプリケーションは作れないですな、はっきり言って。大学+大学院などで、かなりの数の講義をこなしてきましたが、「これじゃあ、アプリケーションは作れんな。」というのが6年間の結論です。結局は、いまのところ自分で勉強して極めていくしか方法がないのではないかと思います。ここでは、アプリケーションはどうやって作るのか(ゲームの方向性高し)をテーマに書き留めてみたいと思います。ここでは超初心者は対象にしてないのでそのつもりで。
かの有名なプログラムにhello.cというものがあります。これは、
main()
{
printf("Hello, World.\n");
}
という簡単なアプリケーションです。ただ、Hello, World.と表示するだけのものですがこれでも立派なアプリです。
アプリというものは、OSがmain関数を呼び出したときに開始し、リターンしてきたときに終了するものです。プログラマはmain関数を実装することで自由にアプリを作ることができます。まあ、exit関数を使って強制的に終了するというという手もありますが...
文章の書き方かなんかに、起承転結というものがありますがアプリもまた同じです。最初に初期化処理が入って、本処理、終了処理といった感じで組んでいくものでしょう。プログラムの中には、直接的にそのように見えないこともあったりしますが、しっかりとその原則は守られています(原則を破ればバグにつながる)。
main()
{
/* 初期化処理 */
/* 本処理 */
/* 終了処理 */
}
さてさて、今までの説明ではすぐに終了するアプリしか組めないでしょう。コンパイラやアーカイバなどはこれで十分でしょうが、ゲームやエディタはこのままでは不十分です。なぜなら、一連の処理が一回しか実行されずにアプリが終了してしまうからです。じゃあ、死なないようにすればいいじゃんというのが普通でしょう。いわゆる、アプリの延命工作といったところですな。
main()
{
int cont_flag = TRUE;
/* 初期化処理 */
while (cont_flag) {
/* 本処理 */
}
/* 終了処理 */
}
このように組めばcont_flagがTRUEの間だけ本処理を繰り返すことができます。終わりたければcont_flagをFALSEにすればいいのです。これで、アプリを作り始めることができそうですね。でも、まだまだ序の口ですよ。
- 2000年3月10日 -