mirror of
https://github.com/sockspls/badfish
synced 2025-04-29 16:23:09 +00:00
Fix KBNK endgame
Broken by recent patch. Also better document what's happening there. Verified to restore original behaviour. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
parent
6b6f3c4ca4
commit
5ee7dfebf7
2 changed files with 5 additions and 2 deletions
|
@ -152,7 +152,10 @@ Value EvaluationFunction<KBNK>::apply(const Position& pos) const {
|
|||
Square loserKSq = pos.king_square(weakerSide);
|
||||
Square bishopSquare = pos.piece_list(strongerSide, BISHOP, 0);
|
||||
|
||||
if (same_color_squares(bishopSquare, SQ_A1))
|
||||
// kbnk_mate_table() tries to drive toward corners A1 or H8,
|
||||
// if we have a bishop that cannot reach the above squares we
|
||||
// mirror the kings so to drive enemy toward corners A8 or H1.
|
||||
if (!same_color_squares(bishopSquare, SQ_A1))
|
||||
{
|
||||
winnerKSq = flop_square(winnerKSq);
|
||||
loserKSq = flop_square(loserKSq);
|
||||
|
|
|
@ -400,7 +400,7 @@ void Position::print(Move move) const {
|
|||
char c = (color_of_piece_on(sq) == BLACK ? '=' : ' ');
|
||||
Piece piece = piece_on(sq);
|
||||
|
||||
if (piece == NO_PIECE && same_color_squares(sq, SQ_A1))
|
||||
if (piece == NO_PIECE && square_color(sq) == DARK)
|
||||
piece = NO_PIECE_DARK_SQ;
|
||||
|
||||
cout << c << pieceLetters.from_piece(piece) << c << '|';
|
||||
|
|
Loading…
Add table
Reference in a new issue