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; }
79 {
return standardPGN; }
83 {
return isInSearch; }
85 operator std::string()
const;
88 bool playGameMove(
bCoordMove const& coordmove);
89 std::string movesinpgnformat()
const;
91 bool standardPGN =
true;
92 bool isInSearch =
false;
98 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
void setResult(gameResult_t gr)
void setPlayerName(std::string const &n)
constexpr bool isStandardPgn() const
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
void setStandardPgn(bool const l)
bool playPGNMoves(std::string const &sPGNMoveList)
apply move, it will change the current board by updating the move played it will also add the new boa...
constexpr bool isSearching() const
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
void setSearching(bool const l)
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
bScore EvalForPlayer(bBoard const &b, gameResult_t gr)
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