mirror of
https://github.com/sockspls/badfish
synced 2025-07-12 03:59:15 +00:00
Bishop Pawns based on Files
Passed STC: https://tests.stockfishchess.org/tests/view/5f8cc8145a4eacb45305da3c LLR: 2.94 (-2.94,2.94) {-0.25,1.25} Total: 132544 W: 27795 L: 27328 D: 77421 Ptnml(0-2): 2756, 15558, 29272, 15835, 2851 Passed LTC: https://tests.stockfishchess.org/tests/view/5f8df614bacb75a4f9a4721e LLR: 2.94 (-2.94,2.94) {0.25,1.25} Total: 169608 W: 23257 L: 22622 D: 123729 Ptnml(0-2): 1408, 16316, 48758, 16877, 1445 closes https://github.com/official-stockfish/Stockfish/pull/3194 Bench: 4067106
This commit is contained in:
parent
2046d5da30
commit
bde3505758
1 changed files with 8 additions and 3 deletions
|
@ -222,6 +222,12 @@ namespace {
|
||||||
S(112,178), S(114,185), S(114,187), S(119,221) }
|
S(112,178), S(114,185), S(114,187), S(119,221) }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// BishopPawns[distance from edge] contains a file-dependent penalty for pawns on
|
||||||
|
// squares of the same color as our bishop.
|
||||||
|
constexpr Score BishopPawns[int(FILE_NB) / 2] = {
|
||||||
|
S(3, 8), S(3, 9), S(1, 8), S(3, 7)
|
||||||
|
};
|
||||||
|
|
||||||
// KingProtector[knight/bishop] contains penalty for each distance unit to own king
|
// KingProtector[knight/bishop] contains penalty for each distance unit to own king
|
||||||
constexpr Score KingProtector[] = { S(8, 9), S(6, 9) };
|
constexpr Score KingProtector[] = { S(8, 9), S(6, 9) };
|
||||||
|
|
||||||
|
@ -252,7 +258,6 @@ namespace {
|
||||||
// Assorted bonuses and penalties
|
// Assorted bonuses and penalties
|
||||||
constexpr Score BadOutpost = S( -7, 36);
|
constexpr Score BadOutpost = S( -7, 36);
|
||||||
constexpr Score BishopOnKingRing = S( 24, 0);
|
constexpr Score BishopOnKingRing = S( 24, 0);
|
||||||
constexpr Score BishopPawns = S( 3, 7);
|
|
||||||
constexpr Score BishopXRayPawns = S( 4, 5);
|
constexpr Score BishopXRayPawns = S( 4, 5);
|
||||||
constexpr Score CorneredBishop = S( 50, 50);
|
constexpr Score CorneredBishop = S( 50, 50);
|
||||||
constexpr Score FlankAttacks = S( 8, 0);
|
constexpr Score FlankAttacks = S( 8, 0);
|
||||||
|
@ -453,7 +458,7 @@ namespace {
|
||||||
// when the bishop is outside the pawn chain.
|
// when the bishop is outside the pawn chain.
|
||||||
Bitboard blocked = pos.pieces(Us, PAWN) & shift<Down>(pos.pieces());
|
Bitboard blocked = pos.pieces(Us, PAWN) & shift<Down>(pos.pieces());
|
||||||
|
|
||||||
score -= BishopPawns * pos.pawns_on_same_color_squares(Us, s)
|
score -= BishopPawns[edge_distance(file_of(s))] * pos.pawns_on_same_color_squares(Us, s)
|
||||||
* (!(attackedBy[Us][PAWN] & s) + popcount(blocked & CenterFiles));
|
* (!(attackedBy[Us][PAWN] & s) + popcount(blocked & CenterFiles));
|
||||||
|
|
||||||
// Penalty for all enemy pawns x-rayed
|
// Penalty for all enemy pawns x-rayed
|
||||||
|
|
Loading…
Add table
Reference in a new issue