14 :
book(b), searcher(s), book_limit(-1), current_moves(0), valid_initial_position(true)
32 book_limit = new_limit;
40 if (
book->isVerbose() && !valid_initial_position)
41 std::cerr <<
"book: end" <<
"\n";
48 if (valid_initial_position)
50 searcher->pushMove(m);
56 if (valid_initial_position)
64 return valid_initial_position
65 && (!
book->isOutOfBook())
66 && (book_limit < 0 || current_moves < book_limit);
74 const Move best_move =
book->selectMove();
85 const Move move = moveByBook(state);
87 return MoveWithComment(move);
88 return searcher->selectBestMove(state, limit, elapsed, byoyomi);
94 const Move move = moveByBook(state);
96 return MoveWithComment(move);
98 = dynamic_cast<ComputerPlayerSelectBestMoveInTime *>(searcher.get()))
99 return p->selectBestMoveInTime(state, msec);
100 throw std::runtime_error(
"type error in BookPlayer::selectBestMoveInTime");
107 searcher->allowSpeculativeSearch(value);
114 searcher->setRootIgnoreMoves(rim, prediction);
120 return searcher->stopSearchNow();