mirror of
https://github.com/sockspls/badfish
synced 2025-05-01 01:03:09 +00:00
KRPPKRP endgame: Simplify ugly switch statement
No functional change Resolves #470
This commit is contained in:
parent
307a5a4f63
commit
3428a28751
1 changed files with 5 additions and 8 deletions
|
@ -59,6 +59,9 @@ namespace {
|
||||||
const int PushClose[8] = { 0, 0, 100, 80, 60, 40, 20, 10 };
|
const int PushClose[8] = { 0, 0, 100, 80, 60, 40, 20, 10 };
|
||||||
const int PushAway [8] = { 0, 5, 20, 40, 60, 80, 90, 100 };
|
const int PushAway [8] = { 0, 5, 20, 40, 60, 80, 90, 100 };
|
||||||
|
|
||||||
|
// Pawn Rank based scaling factors used in KRPPKRP endgame
|
||||||
|
const int KRPPKRPScaleFactors[RANK_NB] = {0, 9, 10, 14, 21, 44, 0, 0};
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
bool verify_material(const Position& pos, Color c, Value npm, int pawnsCnt) {
|
bool verify_material(const Position& pos, Color c, Value npm, int pawnsCnt) {
|
||||||
return pos.non_pawn_material(c) == npm && pos.count<PAWN>(c) == pawnsCnt;
|
return pos.non_pawn_material(c) == npm && pos.count<PAWN>(c) == pawnsCnt;
|
||||||
|
@ -600,14 +603,8 @@ ScaleFactor Endgame<KRPPKRP>::operator()(const Position& pos) const {
|
||||||
&& distance<File>(bksq, wpsq2) <= 1
|
&& distance<File>(bksq, wpsq2) <= 1
|
||||||
&& relative_rank(strongSide, bksq) > r)
|
&& relative_rank(strongSide, bksq) > r)
|
||||||
{
|
{
|
||||||
switch (r) {
|
assert(r > RANK_1 && r < RANK_7);
|
||||||
case RANK_2: return ScaleFactor(9);
|
return ScaleFactor(KRPPKRPScaleFactors[r]);
|
||||||
case RANK_3: return ScaleFactor(10);
|
|
||||||
case RANK_4: return ScaleFactor(14);
|
|
||||||
case RANK_5: return ScaleFactor(21);
|
|
||||||
case RANK_6: return ScaleFactor(44);
|
|
||||||
default: assert(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return SCALE_FACTOR_NONE;
|
return SCALE_FACTOR_NONE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue