]> git.sesse.net Git - stockfish/blobdiff - src/evaluate.cpp
Implement an old Russian proverb
[stockfish] / src / evaluate.cpp
index 56c975945d13d4713a7648db702446dfd6a8568a..217531a87bd1fde309823616f4a464a91d971f65 100644 (file)
@@ -165,6 +165,7 @@ namespace {
   // Assorted bonuses and penalties
   const Score BishopPawns       = S(  8, 12);
   const Score CloseEnemies      = S(  7,  0);
+  const Score Connectivity      = S(  2,  2);
   const Score Hanging           = S( 52, 30);
   const Score HinderPassedPawn  = S(  8,  1);
   const Score KnightOnQueen     = S( 21, 11);
@@ -599,6 +600,10 @@ namespace {
         score += SliderOnQueen * popcount(b & safeThreats & attackedBy2[Us]);
     }
 
+    // Connectivity: ensure that knights, bishops, rooks, and queens are protected
+    b = (pos.pieces(Us) ^ pos.pieces(Us, PAWN, KING)) & attackedBy[Us][ALL_PIECES];
+    score += Connectivity * popcount(b);
+
     if (T)
         Trace::add(THREAT, Us, score);