All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
speculativeSearchPlayer.h
Go to the documentation of this file.
1 /* speculativeSearchPlayer.h
2  */
3 #ifndef OSL_SPECULATIVESEARCHPLAYER_H
4 #define OSL_SPECULATIVESEARCHPLAYER_H
5 
8 #include <boost/shared_ptr.hpp>
9 #include <boost/scoped_ptr.hpp>
10 
11 namespace osl
12 {
13  namespace game_playing
14  {
15  class SearchPlayer;
16  class SpeculativeModel;
21  {
22  boost::scoped_ptr<SearchPlayer> main_player;
23  boost::shared_ptr<GameState> previous_state;
24  boost::scoped_ptr<SpeculativeModel> speculative;
26  public:
30  ComputerPlayer* clone() const;
31 
32  void pushMove(Move m);
33  void popMove();
34  bool stopSearchNow();
35 
37  void setMaxThreads(int new_max_threads);
38 
39  const MoveWithComment selectBestMove(const GameState&, int limit, int elapsed, int byoyomi);
40  search::TimeAssigned standardSearchSeconds(const GameState&, int limit, int elapsed, int byoyomi) const;
41  private:
42  void selectBestMoveCleanUp(const GameState& state);
43  };
44  } // game_playing
45 } // osl
46 
47 #endif /* OSL_SPECULATIVESEARCHPLAYER_H */
48 // ;;; Local Variables:
49 // ;;; mode:c++
50 // ;;; c-basic-offset:2
51 // ;;; End: