All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
winCountTracer.h
Go to the documentation of this file.
1 /* winCountTracer.h
2  */
3 #ifndef GAME_PLAYING_WINCOUNTTRACER_H
4 #define GAME_PLAYING_WINCOUNTTRACER_H
5 
7 #include "osl/stl/stack.h"
8 
9 namespace osl
10 {
11  namespace record
12  {
13  namespace opening
14  {
15  class WinCountBook;
16  }
17  }
18  namespace game_playing
19  {
24  {
25  public:
27  private:
32  bool verbose;
33  osl::stack<int> state_stack;
34  public:
35  /* @param randomness ゼロ以外の場合,最良でない手も確率的に選択 */
36  explicit WinCountTracer(WinCountBook&,
37  int randomness=0, bool verbose=false);
39  OpeningBookTracer* clone() const;
40 
41  void update(Move);
42  const Move selectMove() const;
43 
44  int stateIndex() const { return state_index; }
45  bool isOutOfBook() const;
46  void popMove();
47  };
48  } // namespace game_playing
49 } // namespace osl
50 
51 #endif /* _WINCOUNTTRACER_H */
52 // ;;; Local Variables:
53 // ;;; mode:c++
54 // ;;; c-basic-offset:2
55 // ;;; End: