X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fposition.cpp;h=7b345fd9c9c731515a46490fe1768d3687f134b6;hb=3705559fdb1d5959ed6eba37f1b06e03a25be82d;hp=57c4bc32cb1611da5bd0b5c8183abd28960232cc;hpb=64d29a633066e39b62af5ee0bbf32645994744ec;p=stockfish diff --git a/src/position.cpp b/src/position.cpp index 57c4bc32..7b345fd9 100644 --- a/src/position.cpp +++ b/src/position.cpp @@ -435,25 +435,23 @@ const string Position::fen() const { const string Position::pretty(Move m) const { - const string dottedLine = "\n+---+---+---+---+---+---+---+---+"; - const string twoRows = dottedLine + "\n| | . | | . | | . | | . |" - + dottedLine + "\n| . | | . | | . | | . | |"; - - string brd = twoRows + twoRows + twoRows + twoRows + dottedLine; - - for (Bitboard b = pieces(); b; ) - { - Square s = pop_lsb(&b); - brd[513 - 68 * rank_of(s) + 4 * file_of(s)] = PieceToChar[piece_on(s)]; - } - std::ostringstream ss; if (m) ss << "\nMove: " << (sideToMove == BLACK ? ".." : "") << move_to_san(*const_cast(this), m); - ss << brd << "\nFen: " << fen() << "\nKey: " << std::hex << std::uppercase + ss << "\n +---+---+---+---+---+---+---+---+\n"; + + for (Rank r = RANK_8; r >= RANK_1; --r) + { + for (File f = FILE_A; f <= FILE_H; ++f) + ss << " | " << PieceToChar[piece_on(make_square(f, r))]; + + ss << " |\n +---+---+---+---+---+---+---+---+\n"; + } + + ss << "\nFen: " << fen() << "\nKey: " << std::hex << std::uppercase << std::setfill('0') << std::setw(16) << st->key << "\nCheckers: "; for (Bitboard b = checkers(); b; )