From ad4c9c6e8a96bec22598d7bf09b49b8842c7a398 Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Fri, 15 May 2020 21:06:28 +0200 Subject: [PATCH] Use knight PSQT for horse xiangqi LLR: 2.97 (-2.94,2.94) [0.00,10.00] Total: 994 W: 329 L: 245 D: 420 janggi Total: 1000 W: 431 L: 445 D: 124 --- src/psqt.cpp | 1 + src/types.h | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/psqt.cpp b/src/psqt.cpp index 23edde7..e78a231 100644 --- a/src/psqt.cpp +++ b/src/psqt.cpp @@ -193,6 +193,7 @@ void init(const Variant* v) { psq[ pc][ s] = score + ( pt == PAWN ? PBonus[std::min(r, RANK_8)][std::min(file_of(s), FILE_H)] : pt == KING ? KingBonus[std::min(r, RANK_8)][std::min(f, FILE_D)] * (1 + v->capturesToHand) : pt <= QUEEN ? Bonus[pc][std::min(r, RANK_8)][std::min(f, FILE_D)] + : pt == HORSE ? Bonus[KNIGHT][std::min(r, RANK_8)][std::min(f, FILE_D)] : make_score(5, 5) * (2 * f + std::max(std::min(r, Rank(v->maxRank - r)), RANK_1) - 8)); if (pt == SOLDIER && r < v->soldierPromotionRank) psq[pc][s] -= score * (v->soldierPromotionRank - r) / (4 + f); diff --git a/src/types.h b/src/types.h index 31a97ae..8702e74 100644 --- a/src/types.h +++ b/src/types.h @@ -344,7 +344,7 @@ enum Value : int { CannonPieceValueMg = 800, CannonPieceValueEg = 700, JanggiCannonPieceValueMg = 800, JanggiCannonPieceValueEg = 600, SoldierValueMg = 200, SoldierValueEg = 270, - HorseValueMg = 500, HorseValueEg = 800, + HorseValueMg = 520, HorseValueEg = 800, ElephantValueMg = 300, ElephantValueEg = 300, JanggiElephantValueMg = 340, JanggiElephantValueEg = 350, BannerValueMg = 3400, BannerValueEg = 3500, -- 1.7.0.4