00001 //---------------------------------------------------------------------------- 00002 /** @file FuegoMainEngine.h */ 00003 //---------------------------------------------------------------------------- 00004 00005 #ifndef FUEGOMAIN_ENGINE_H 00006 #define FUEGOMAIN_ENGINE_H 00007 00008 #include "GoGtpEngine.h" 00009 #include "GoSafetyCommands.h" 00010 #include "GoUctCommands.h" 00011 #include "GoUctBookBuilderCommands.h" 00012 00013 //---------------------------------------------------------------------------- 00014 00015 /** GTP engine for GoUctPlayer. */ 00016 class FuegoMainEngine 00017 : public GoGtpEngine 00018 { 00019 public: 00020 FuegoMainEngine(int fixedBoardSize, const char* programPath = 0, 00021 bool noHandicap = false); 00022 00023 ~FuegoMainEngine(); 00024 00025 void CmdAnalyzeCommands(GtpCommand& cmd); 00026 void CmdLicense(GtpCommand& cmd); 00027 void CmdName(GtpCommand& cmd); 00028 void CmdVersion(GtpCommand& cmd); 00029 00030 private: 00031 GoUctCommands m_uctCommands; 00032 00033 typedef GoUctPlayer<GoUctGlobalSearch<GoUctPlayoutPolicy<GoUctBoard>, 00034 GoUctPlayoutPolicyFactory<GoUctBoard> >, 00035 GoUctGlobalSearchState<GoUctPlayoutPolicy<GoUctBoard> > > 00036 PlayerType; 00037 00038 GoUctBookBuilderCommands<PlayerType> m_autoBookCommands; 00039 00040 GoSafetyCommands m_safetyCommands; 00041 }; 00042 00043 //---------------------------------------------------------------------------- 00044 00045 #endif // FUEGOMAIN_ENGINE_H 00046