1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-04-30 08:43:09 +00:00

Passed pawns: consider enemy rooks or queens from behind

Merged from Glaurung 2.2

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba 2008-12-22 12:10:15 +01:00
parent 54b7da120f
commit e3b03f13b3

View file

@ -936,6 +936,13 @@ namespace {
b2 = squares_in_front_of(us, s); b2 = squares_in_front_of(us, s);
b3 = b2 & ei.attacked_by(them); b3 = b2 & ei.attacked_by(them);
b4 = b2 & ei.attacked_by(us); b4 = b2 & ei.attacked_by(us);
// If there is an enemy rook or queen attacking the pawn from behind,
// add all X-ray attacks by the rook or queen.
if(bit_is_set(ei.attacked_by(them,ROOK)|ei.attacked_by(them,QUEEN),s)
&& squares_behind(us, s) & pos.rooks_and_queens(them))
b3 = b2;
if((b2 & pos.pieces_of_color(them)) == EmptyBoardBB) { if((b2 & pos.pieces_of_color(them)) == EmptyBoardBB) {
// There are no enemy pieces in the pawn's path! Are any of the // There are no enemy pieces in the pawn's path! Are any of the
// squares in the pawn's path attacked by the enemy? // squares in the pawn's path attacked by the enemy?