1
0
Fork 0
mirror of https://github.com/sockspls/badfish synced 2025-05-01 01:03:09 +00:00

Simplify previous patch

No functional change.
This commit is contained in:
Marco Costalba 2013-05-08 23:06:21 +02:00
parent 02606a8c83
commit 7eda7335fd

View file

@ -899,30 +899,19 @@ Value do_evaluate(const Position& pos, Value& margin) {
else else
unsafeSquares = squaresToQueen & (ei.attackedBy[Them][ALL_PIECES] | pos.pieces(Them)); unsafeSquares = squaresToQueen & (ei.attackedBy[Them][ALL_PIECES] | pos.pieces(Them));
// Default bonus for the empty square in front // If there aren't enemy attacks huge bonus, a bit smaller if at
int bonusMultiplier = 3; // least block square is not attacked, otherwise smallest bonus.
int k = !unsafeSquares ? 15 : !(unsafeSquares & blockSq) ? 9 : 3;
if ((defendedSquares & SquareBB[blockSq]) != 0) // Big bonus if the path to queen is fully defended, a bit less
{ // if at least block square is defended.
// Defending the square in front if (defendedSquares == squaresToQueen)
bonusMultiplier += 2; k += 6;
if ((unsafeSquares & defendedSquares) == unsafeSquares)
// Defending all the attacked squares
// bigger bonus if we are defending everything
bonusMultiplier += (squaresToQueen == defendedSquares) ? 4 : 2;
}
if ((unsafeSquares & SquareBB[blockSq]) == 0) else if (defendedSquares & blockSq)
{ k += (unsafeSquares & defendedSquares) == unsafeSquares ? 4 : 2;
// The square infront isn't attacked
bonusMultiplier += 6;
if (!unsafeSquares)
bonusMultiplier += 6;
}
Value bonus = Value(rr * bonusMultiplier); mbonus += Value(k * rr), ebonus += Value(k * rr);
ebonus += bonus;
mbonus += bonus;
} }
} // rr != 0 } // rr != 0