* Sample of the main function [#pb9a4179] #codeh(cpp){{ int main(int argc, char**argv) { TOptionParser option(argc,argv); // parsing command line option TAgent agent; std::ofstream debug; if (!ParseCmdLineOption (agent, option, debug)) return 0; // scripts are loaded // searching modules made by the script MBasicLearningManager *p_lmanager = dynamic_cast<MBasicLearningManager*>(agent.SearchModule("lmanager")); MMazeEnvironment *p_environment = dynamic_cast<MMazeEnvironment*>(agent.SearchModule("environment")); if(p_lmanager==NULL) {LERROR("module `lmanager' is not defined correctly"); return 1;} if(p_environment==NULL) {LERROR("module `environment' is not defined correctly"); return 1;} MBasicLearningManager &lmanager(*p_lmanager); MMazeEnvironment &environment(*p_environment); // save agent into file agent.SaveToFile (agent.GetDataFileName("before.agent"),"before-"); // -help option and detecting invalid options { stringstream optss; if (option("help")!="") {cerr<<"valid options:"<<endl; option.PrintUsed(); return 0;} if (option.PrintNotAccessed(optss)) {cerr<<"invalid options:"<<endl<<optss.str(); return 1;} } /// main process: lmanager.Initialize(); // call directory the member-function lmanager.StartLearning(); // call directory the member-function while (lmanager.IsLearning()) { environment.StepLoop(); } // save agent into file agent.SaveToFile (agent.GetDataFileName("after.agent"),"after-"); return 0; } }}