Main   Namespaces   Classes   Hierarchy   Annotated   Files   Compound   Global   Pages  

WolveEngine.hpp

Go to the documentation of this file.
00001 //----------------------------------------------------------------------------
00002 /** @file WolveEngine.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 #include "CacheBook.hpp"
00013 #include "WolvePlayer.hpp"
00014 
00015 _BEGIN_BENZENE_NAMESPACE_
00016 
00017 //----------------------------------------------------------------------------
00018 
00019 /** Htp engine for Wolve. */
00020 class WolveEngine : public BenzeneHtpEngine
00021 {
00022 public:
00023     WolveEngine(int boardsize, WolvePlayer& player);
00024     
00025     ~WolveEngine();
00026 
00027     /** @name Command Callbacks */
00028     // @{
00029 
00030     // The callback functions are documented in the cpp file
00031     void WolveParam(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 
00043     WolvePlayer& m_player;
00044 
00045     boost::scoped_ptr<Book> m_book;
00046 
00047     BookCheck m_bookCheck;
00048 
00049     BookCommands m_bookCommands;
00050 
00051     CacheBook m_cacheBook;
00052 
00053     double TimeForMove(HexColor color);
00054 
00055     HexPoint GenMove(HexColor color, bool useGameClock);
00056 
00057     void RegisterCmd(const std::string& name,
00058                      GtpCallback<WolveEngine>::Method method);
00059 
00060 };
00061 
00062 //----------------------------------------------------------------------------
00063 
00064 _END_BENZENE_NAMESPACE_
00065 
00066 #endif // WOLVEENGINE_HPP


6 Jan 2011 Doxygen 1.6.3