X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fendgame.cpp;h=cbca34be37fa7508102e51b39aa36ccfb6480cb1;hp=04469e87b4ea3f23d09d22852bd7b152370904d4;hb=7ae3c05795e79c9bd945607cdcfb08198f4c4b45;hpb=7eaea3848c9e8a388c0b79cee6fba6bf3cd32108 diff --git a/src/endgame.cpp b/src/endgame.cpp index 04469e87..cbca34be 100644 --- a/src/endgame.cpp +++ b/src/endgame.cpp @@ -259,8 +259,8 @@ Value Endgame::operator()(const Position& pos) const { result = Value(80) - 8 * distance(wksq, psq); else - result = Value(200) - 8 * ( distance(wksq, psq + DELTA_S) - - distance(bksq, psq + DELTA_S) + result = Value(200) - 8 * ( distance(wksq, psq + SOUTH) + - distance(bksq, psq + SOUTH) - distance(psq, queeningSq)); return strongSide == pos.side_to_move() ? result : -result; @@ -496,7 +496,7 @@ ScaleFactor Endgame::operator()(const Position& pos) const { // If the defending king blocks the pawn and the attacking king is too far // away, it's a draw. if ( r <= RANK_5 - && bksq == wpsq + DELTA_N + && bksq == wpsq + NORTH && distance(wksq, wpsq) - tempo >= 2 && distance(wksq, brsq) - tempo >= 2) return SCALE_FACTOR_DRAW; @@ -517,10 +517,10 @@ ScaleFactor Endgame::operator()(const Position& pos) const { && file_of(wrsq) == f && wrsq < wpsq && (distance(wksq, queeningSq) < distance(bksq, queeningSq) - 2 + tempo) - && (distance(wksq, wpsq + DELTA_N) < distance(bksq, wpsq + DELTA_N) - 2 + tempo) + && (distance(wksq, wpsq + NORTH) < distance(bksq, wpsq + NORTH) - 2 + tempo) && ( distance(bksq, wrsq) + tempo >= 3 || ( distance(wksq, queeningSq) < distance(bksq, wrsq) + tempo - && (distance(wksq, wpsq + DELTA_N) < distance(bksq, wrsq) + tempo)))) + && (distance(wksq, wpsq + NORTH) < distance(bksq, wrsq) + tempo)))) return ScaleFactor( SCALE_FACTOR_MAX - 8 * distance(wpsq, queeningSq) - 2 * distance(wksq, queeningSq));