# Wrong Color Bishop and Rook Pawn

Home * Evaluation * Game Phases * Endgame * Wrong Color Bishop and Rook Pawn

Wrong Color Bishop and Rook Pawn is one of typical drawn fortress positions that need to be encoded in the evaluation function, as search would not evaluate them properly. When the stronger side has a pawn on the "a" or "h" file and the bishop can never cover the promotion square because of its "wrong" square color, then the position is drawn when the defending king stands on the promotion square or controls it. The stronger side cannot get more than a stalemate.

In order to detect possibilities of exchanging into such an ending, a code should say something to the effect: if all the features described above are present and the side without a bishop has a couple of pawns more, but nominally still is at a disadvantage, call it a draw.

There is also a position drawn despite having a nominally good bishop: white pawn on a2, black pawn on a3, white king on b1 or c2, and a dark-squared bishop for Black. This works even if all the pieces are moved one file to the right, as there is still no way to outflank white [1].

# Too far

A position where White to move wins:

                                                                                                                 ♚         ♙    ♗        ♔
```8/8/5k2/7P/4B3/5K2/8/8 w - - 0 1
```

# Uri's rule

Uri Blass proposed a rule [2] applying Chebyshev distance to the promotion square, considering Tempo, implementation by Gerd Isenberg:

```dl = distance(lonesomeKing, promoSquare) + (side2move != loneSome); /* considers tempo */
dw = distance(King, promoSquare);
dp = min (distance(MostAdvancedPawn, promoSquare), 5); /* considers double push */
dp += File(lonesomeKing) == File(MostAdvancedPawn); /* makes dl < dp always true in case of blocked pawn */
if (dl < dw && dl < dp ) draw = true;
```