Tweak Mobility Area
authorjhellis3 <jhellis3@gmail.com>
Wed, 1 May 2013 07:37:50 +0000 (02:37 -0500)
committerjhellis3 <jhellis3@gmail.com>
Wed, 1 May 2013 07:37:50 +0000 (02:37 -0500)
Only consider pawns and the king as restricting.

src/evaluate.cpp

index 02d740eccbc765b32386592fdab902e2a7c31d3f..a06fcabd02baac3335e376d4a5988e95680a6f08 100644 (file)
@@ -690,7 +690,7 @@ Value do_evaluate(const Position& pos, Value& margin, Info& ei) {
     Score score = mobility = SCORE_ZERO;
 
     // Do not include in mobility squares protected by enemy pawns or occupied by our pieces
-    const Bitboard mobilityArea = ~(ei.attackedBy[Them][PAWN] | pos.pieces(Us));
+    const Bitboard mobilityArea = ~(ei.attackedBy[Them][PAWN] | pos.pieces(Us, PAWN, KING));
 
     score += evaluate_pieces<KNIGHT, Us, Trace>(pos, ei, mobility, mobilityArea);
     score += evaluate_pieces<BISHOP, Us, Trace>(pos, ei, mobility, mobilityArea);