diff --git a/src/bitbase.cpp b/src/bitbase.cpp index b01a03d4..ceb94a0f 100644 --- a/src/bitbase.cpp +++ b/src/bitbase.cpp @@ -156,7 +156,7 @@ namespace { && rank_of(psq) < RANK_7) return DRAW; - // Case 4: White king in front of pawn and black has opposition + // Case 4: White king in front of pawn and black has opposition if ( stm == WHITE && wksq == psq + DELTA_N && bksq == wksq + DELTA_N + DELTA_N @@ -168,6 +168,13 @@ namespace { && file_of(psq) == FILE_A) return DRAW; + // Case 6: White king trapped on the rook file + if ( file_of(wksq) == FILE_A + && file_of(psq) == FILE_A + && rank_of(wksq) > rank_of(psq) + && bksq == wksq + 2) + return DRAW; + return UNKNOWN; }