32 void setFEN(std::string
const& fenstr);
46 return (m_expecting ==
"" || m_expecting == s); }
50 {
return m_expecting; }
55 {
return m_positions.back(); }
62 {
return m_positions; }
76 operator std::string()
const;
79 std::string movesinpgnformat()
const;
86 std::string m_expecting;
simple coordmove, with 4 characters, or 5 characters in case of promotion mostly used for interface
std::string const & getExpecting() const
bMove getEpdMoveInPosition(bFen const &fen)
do actual epd position test
bScore EvalForPlayer(bBoard const &b)
bool playGameMove(bCoordMove const &coordmove)
apply move, it will change the current board by updating the move played it will also add the new boa...
void setResult(gameResult_t gr)
void setPlayerName(std::string const &n)
int64_t DoPerft(bSearchAlgorithm &sa, depth_t const d)
do perft search at depth in case of Perft algorithm, temporarily set evaltype to None
void WaitForSearchEnd()
Called in separate thread, sure to terminate normally.
void setExpecting(std::string const &s)
bGame & operator=(bGame const &)=delete
positions_t & getPositions()
void revertGameMove(std::string const &reason)
required for Winboard protocol, not supported in UCI (except debug)
void DoSearch()
Start search thread and exit in case of batch mode, will wait until end of search.
bool playGameMoveSeries(std::string const &coordmoves)
all moves in a single string
bGame & operator=(bGame &&)=delete
void setFEN(std::string const &fenstr)
int64_t DoPerftCommand(depth_t const d)
do perft search using SearchPerft algorithm at depth
gameResult_t getResult() const
bGame(bGame const &)=delete
bBoard & getCurrentPosition()
bool isExpecting(std::string const &s) const
void setLevel(bLevel const &l)
enum gameResult gameResult_t
std::vector< bBoard > positions_t
std::map< std::string, std::string > gameAttributes_t