- Member bBasicBoard::applyBlackMove (bMove const &m)
add functions such as nextrank
flag mate/stalemate move, special move, ...
check do we need to look for mate here ?
- Member bBasicBoard::applyWhiteMove (bMove const &m)
add functions such as nextrank
flag mate/stalemate move, special move, ...
check do we need to look for mate here ?
- 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 ()
- check increase to 64 bits, is there added value
- Member bBasicBoard::clearCastleRights (uint8_t const f)
- what happens if 2 rights are cleared together or one by one
- Member bBasicBoard::setCastleRights (uint8_t const f)
- what happens if 2 rights are set together or one by one
- Member bBasicBoard::setPly (plynum_t const p)
- , does hash need to be updated?
- Member bBoard::applyMove (bMove const &m) override
- check usage in case of failure, why not return exception?
- Member bBoard::calcGameStage ()
- take into account actual moves
- Member bBoard::invertColours ()
castledone, capturedcase, capturedpiece, bmove, eval
epcase
- Member bBoard::operator std::string () const
- add mate condition
- Member bel_debug::execute (std::string const &args)
add abstraction level on different debug commands so that they do not need to be coded here (dynamic binding ?)
move to verbose command
- Class bEmptyPiece
- Candidate for template implementation
- Member bEpd::parseSTSPosition (bFen const &fen)
- protect against malformed STS containing no = sign
- Member bEpd::setPos (std::string const &s)
- do only consider opcode starting with letter
- Member bEpd::translateEpdResult (bPgnMove const &m)
- implement other opcodes such as mate search
- Member bEpdFile::parse () override
consider other prefixes to be skipped (e.g. //, %)
consider to use verbosity level to dictate output
consider to use verbosity level to dictate output
- 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 anything else but positions.back()
- 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 bGame::WaitForSearchEnd ()
- handle sending result here
- Member bMove::getMoveEvalStr () const
- convert to move annotation to be used in PgnMove as well
- Member bMoveList::addBlackPromotionIfValid (bBasicBoard const &b, bMove &m)
- optimize in case of uncover check just by moving pawn
- Member bMoveList::addWhitePromotionIfValid (bBasicBoard const &b, bMove &m)
- optimize in case of uncover check just by moving pawn
- Member bPositionEvaluation::gameEndedResult (bBoard const &b)
- when a move has been registered on board, no need to check for move generation
- Member bSearchAlgorithm::CheckIfAbortingSearch () const
- : limit calls to getDurationMilliSec
- Member bSearchAlgorithm::SearchBestMove (bBoard &b, bMoveList &ml)
- Add debug manipulator
- 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 used, currently, it is flapping around 10s left
- 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
allow value parameter with space in it
get array from initialisation
change to specific setoption function
- Member cmd_uci::execute (std::string const &args) override
option name UCI_Chess960 type check default false
option name UCI_AnalyseMode
- Member engineInterface::attachCommand (belofte::stringList const &sCommands, bool const published=true)
- fix: if not published, add command to list anyway
- Member engineInterface::engineGameResultString (gameResult_t const gr) const
- add other end of game conditions
- 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 preceded 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, bMoveList &ml) override
- check why not test for winning before evaluating moves
- Member SearchAlphaBetaFH::CalcBestMove (bBoard &b, bMoveList &ml, depth_t const nDepth, bSearchScore alpha, bSearchScore beta) override
- check why not test for winning before evaluating moves
- Member SearchBruteForce::CalcBestMove (bBoard &b, bMoveList &ml) override
- search from depth till zero
- Member TIME_LOSTINENGINE
- replace based on actual measurements
- Member TimedExecution::ClockEnd ()
- check for multi-threaded, make sure there is no race condition
- Member UCIMode::sendInfoSearching (bBoard const &b, int const nLogDepth, depth_t const nMaxDepth, bScore const sc, int64_t const t, 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 if (ponder != "") sOut << " ponder " << ponder;
- Member whitefields [64]
- rename to fieldcolours
- Member XboardMode::sendInfo (std::string const &info) override
- check if line needs to be split for respecting tmplevel