4.8. main()関数

アプリケーションに必要となる主なコード類のうち最後に紹介するのは、あなたのプログラムで最初に呼び出されるmain()関数です。実際の作業はすべて終了しており、残っているのは正しい時刻にオブジェクトを作成することだけです。

int main(int argc, const char** argv) 
{ 
 id theTopLevelSwarm ;

 // Swarmの初期化: すべてのSwarmアプリケーションは、
 // 最初にこの呼び出しが必要。
 initSwarm(argc, argv);

 // swarmGUIModeはinitSwarm()でセットされる。heatbugs -batchmodeと
 // 入力した場合は1、そのほかでは0になるようにセット。

 if (swarmGUIMode == 1)
 // グラフィクスあり - 完全なObserverSwarmを作って
 // GUIオブジェクトを取得。
   theTopLevelSwarm = [HeatbugObserverSwarm create: globalZone];
 else
 // グラフィクスなし - バッチモードのSwarmを作り、実行する。
   theTopLevelSwarm = [HeatbugBatchSwarm create: globalZone];

 [theTopLevelSwarm buildObjects];
 [theTopLevelSwarm buildActions];
 [theTopLevelSwarm activateIn: nil];
 [theTopLevelSwarm go];

 // 中止時刻のため、theTopLevelSwarmは処理完了。
 return 0;
}

main()initSwarmを呼び出します(すべてのSwarmアプリケーションに必要です)。次にグラフィクスの要否を判定し、適切なトップレベルのSwarmを作成してモデルを含み、それが実行されるようにセットします。どうです、簡単でしょう!