X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Fevaluate.cpp;h=a63b40ae98403a69153a2782c1bd066c75f2d153;hp=d8017065f0941b009e5d917da2f07d25a3a79ede;hb=24dac5ccd309837c6767dcf6b145be385eea2e21;hpb=87886128288a82dabc78c2ce6dd688f42eaf8212 diff --git a/src/evaluate.cpp b/src/evaluate.cpp index d8017065..a63b40ae 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -185,6 +185,7 @@ namespace { const Score TrappedRook = S(92, 0); const Score Checked = S(20, 20); const Score ThreatByHangingPawn = S(70, 63); + const Score LooseEnemies = S( 0, 25); const Score Hanging = S(48, 28); const Score ThreatByPawnPush = S(31, 19); const Score Unstoppable = S( 0, 20); @@ -469,6 +470,11 @@ namespace { Bitboard b, weak, defended, safeThreats; Score score = SCORE_ZERO; + // Small bonus if the opponent has loose pawns or pieces + if ( (pos.pieces(Them) ^ pos.pieces(Them, QUEEN, KING)) + & ~(ei.attackedBy[Us][ALL_PIECES] | ei.attackedBy[Them][ALL_PIECES])) + score += LooseEnemies; + // Non-pawn enemies attacked by a pawn weak = (pos.pieces(Them) ^ pos.pieces(Them, PAWN)) & ei.attackedBy[Us][PAWN];