STC:
LLR: 2.96 (-2.94,2.94) [0.00,5.00]
Total: 30504 W: 5743 L: 5485 D: 19276
LTC:
LLR: 2.97 (-2.94,2.94) [0.00,5.00]
Total: 11936 W: 1651 L: 1493 D: 8792
Bench:
8880041
Resolves #606
const Score TrappedRook = S(92, 0);
const Score Checked = S(20, 20);
const Score ThreatByHangingPawn = S(70, 63);
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);
const Score Hanging = S(48, 28);
const Score ThreatByPawnPush = S(31, 19);
const Score Unstoppable = S( 0, 20);
Bitboard b, weak, defended, safeThreats;
Score score = SCORE_ZERO;
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];
// Non-pawn enemies attacked by a pawn
weak = (pos.pieces(Them) ^ pos.pieces(Them, PAWN)) & ei.attackedBy[Us][PAWN];