- Member bBasicBoard::bBasicBoard (bFen const &fen)
- check legality of position: Max number of pieces of each type e.g. K=1, Q=(9 - # pawns), N=(10 - # pawns) colour of bishops, double in-check, in case of ep, adjacent pawn movenumber if not initial position, location of pawns, position of king and rooks in case of castle allowed (att. 960) for each promoted piece, an opponent piece must have been taken
- Member bBasicBoard::calcHash ()
- TOCHECK: increase to 64 bits, is there added value
- Member bBasicMove::bBasicMove (basicmove_t const bmt)
- add initial sorting score
- Member bBasicMove::bBasicMove (case_t cf, case_t ct)
- add initial sorting score
- Member bBlackKing::GenerateMoves (bBoard const &b, case_t const &cf, bMoveList &ml) final
- use absolute index
- Member bBlackPiece::isAttacked (bBoard const &b, case_t const &cf) const override
- TOCHECK how about ep
- Member bBoard::bBoard (bBoard const &b)
- make function obsolete to avoid confusion
- Member bBoard::calcGameStage ()
- take into account actual moves
- Member bBoard::invertColours ()
castledone, capturedcase, capturedpiece, moveplayed, eval
epcase
- Member bel_debug::execute (std::string const &args)
add abstraction level on different debug commands
move to verbose command
- Class bEmptyPiece
- Candidate for template implementation
- Member bEpd::setPos (std::string const &s)
- do only consider opcode starting with letter
- Member bEpdOpCodes
- change to enum
- Member bGame::DoSearch ()
- allow for cancel search with ? / stop command
- Member bGame::getCurrentPosition ()
- check why copy constructor is called, check if we should return
- Member bGame::isExpecting (std::string const &s) const
- improve by redirecting App().bout
- Member bGame::operator std::string () const
- Look at using stream and << operator instead of std::string
- Member bMove::getMoveEvalStr () const
- convert to move annotation to be used in PgnMove as well
- Member bMoveList::addBlackPromotionIfValid (bBoard const &b, bMove const &m)
- optimize in case of uncover check just by moving pawn
- Member bMoveList::addWhitePromotionIfValid (bBoard const &b, bMove const &m)
- optimize in case of uncover check just by moving pawn
- Member bSearchAlgorithm::CheckIfAbortingSearch () const
- limit calls to getDurationMilliSec
- Member bSearchAlgorithm::SearchBestMove (bBoard &b)
Add debug manipulator
retrieve best move id without sorting it on top
- Member bWhiteKing::GenerateMoves (bBoard const &b, case_t const &cf, bMoveList &ml) final
- use absolute index
- Member bWhitePawn::hasValidMovePreflightCheck (bBoard &b, case_t const &cf) final
- full preflight implementation to speed-up
- Member bWhitePiece::isAttacked (bBoard const &b, case_t const &cf) const override
- TOCHECK how about ep
- Member cmd_alg::cmd_alg ()
- get values dynamically
- Member cmd_evaltype::cmd_evaltype ()
- get values dynamically
- Member cmd_go::execute (std::string const &args) override
- add searchmoves
- Member cmd_level::execute (std::string const &args) override
- keep initial game time so that after move 35, all increment time is
- Member cmd_option::execute (std::string const &args) override
get array from initialisation
change to specific setoption function
- Member cmd_setoption::execute (std::string const &args) override
get array from initialisation
change to specific setoption function
allow value parameter with space in it
- Member cmd_uci::execute (std::string const &args) override
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode
- Member LevelType
restrict to n nodes - setNodes(nodes)
restrict to moves - setMoves(moves)
- Member main (int argc, char *argv[])
allow aliases on commands
allow aliases on commands
parse all next argument(s) before those preceeded by –
- Member MYOS
- add more OSes
- Member MYPLATFORM
- add more platforms
- Member platform_ctor ()
- remove following line ASAP, this violates all C++ standards
- Member SearchAlphaBeta::CalcBestMove (bBoard &b, depth_t const nDepth, bSearchScore alpha, bSearchScore beta)
- optimise
- Member SearchAlphaBeta::Quiescence (bBoard &b, depth_t const nDepth, bSearchScore alpha, bSearchScore beta, uint8_t nCheckCount)
this is a bug in non-debug mode
count move 0 as null-move (terminalScore)
- Member SearchAlphaBetaFH::CalcBestMove (bBoard &b, depth_t const nDepth, bSearchScore alpha, bSearchScore beta) override
- optimise
- Member SearchBruteForce::CalcBestMove (bBoard &b) override
- search from depth till zero
- Member TIME_LOSTINENGINE
- replace based on actual measurements
- Member TimedExecution::ClockEnd ()
- TOCHECK: for multi-threaded, make sure there is no race condition
- Member UCIMode::sendInfoCurrMove (bBoard const &b, depth_t const nLogDepth, depth_t const nMaxDepth, std::string const &comment, bMove const &m, movenum_t const moveid, int64_t const nodes) const override
- only print currline in case requested by UI
- Member UCIMode::sendInfoSearching (bBoard const &b, int const nLogDepth, depth_t const nMaxDepth, std::string const &comment, bScore const sc, int64_t const t, int64_t const nodes) const override
- only print currline in case requested by UI
- Member UCIMode::sendMove (bBoard &b, bMove const &m) override
- retrieve ponder out of board