00001 //---------------------------------------------------------------------------- 00002 /** @file BenzeneTestEngine.hpp 00003 */ 00004 //---------------------------------------------------------------------------- 00005 00006 #ifndef WOLVEENGINE_HPP 00007 #define WOLVEENGINE_HPP 00008 00009 #include "BenzeneHtpEngine.hpp" 00010 #include "BookCheck.hpp" 00011 #include "BookCommands.hpp" 00012 00013 _BEGIN_BENZENE_NAMESPACE_ 00014 00015 //---------------------------------------------------------------------------- 00016 00017 /** Htp engine for Wolve. */ 00018 class BenzeneTestEngine : public BenzeneHtpEngine 00019 { 00020 public: 00021 BenzeneTestEngine(int boardsize); 00022 00023 ~BenzeneTestEngine(); 00024 00025 /** @name Command Callbacks */ 00026 // @{ 00027 00028 // The callback functions are documented in the cpp file 00029 void CmdSetPlayer(HtpCommand& cmd); 00030 00031 void CmdParamPlayer(HtpCommand& cmd); 00032 00033 // @} // @name 00034 00035 #if GTPENGINE_PONDER 00036 virtual void Ponder(); 00037 virtual void InitPonder(); 00038 virtual void StopPonder(); 00039 #endif 00040 00041 private: 00042 boost::scoped_ptr<HexPlayer> m_player; 00043 00044 double TimeForMove(HexColor color); 00045 00046 HexPoint GenMove(HexColor color, bool useGameClock); 00047 00048 void RegisterCmd(const std::string& name, 00049 GtpCallback<BenzeneTestEngine>::Method method); 00050 00051 }; 00052 00053 //---------------------------------------------------------------------------- 00054 00055 _END_BENZENE_NAMESPACE_ 00056 00057 #endif // WOLVEENGINE_HPP