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