// assign a smaller bonus if the block square isn't attacked.
int k = !unsafeSquares ? 20 : !(unsafeSquares & blockSq) ? 9 : 0;
- // If the path to the queen is fully defended, assign a big bonus.
- // Otherwise assign a smaller bonus if the block square is defended.
- if (defendedSquares == squaresToQueen)
- k += 6;
-
- else if (defendedSquares & blockSq)
- k += 4;
+ // Assign a larger bonus if the block square is defended.
+ if (defendedSquares & blockSq)
+ k += 5;
bonus += make_score(k * w, k * w);
}