1
0
Fork 0

Piece mobility: filter out squares protected by pawns

Do not consider squares protected by enemy pawns
in mobility evaluation.

This reduces the mobility value by about 15%

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
sf_2.3.1_base
Marco Costalba 2009-01-05 15:14:16 +01:00
parent dc4e2d8184
commit d0804341c5
1 changed files with 4 additions and 1 deletions

View File

@ -575,8 +575,11 @@ namespace {
ei.kingAdjacentZoneAttacksCount[us] += count_1s_max_15(bb);
}
// Remove squares protected by enemy pawns
Bitboard bb = (b & ~ei.attackedBy[them][PAWN]);
// Mobility
int mob = count_1s_max_15(b & ~p.pieces_of_color(us));
int mob = count_1s_max_15(bb & ~p.pieces_of_color(us));
ei.mgMobility += Sign[us] * mgBonus[mob];
ei.egMobility += Sign[us] * egBonus[mob];