From 1d9e14001b4c83a08c3b67748fc1ae2e767fc978 Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Sun, 10 Nov 2019 15:19:29 +0100 Subject: [PATCH] Increase king danger for xiangqi generals xiangqi LLR: 2.95 (-2.94,2.94) [0.00,10.00] Total: 648 W: 249 L: 166 D: 233 --- src/evaluate.cpp | 1 + src/position.h | 6 ++++++ 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/src/evaluate.cpp b/src/evaluate.cpp index f422ea7..140c032 100644 --- a/src/evaluate.cpp +++ b/src/evaluate.cpp @@ -558,6 +558,7 @@ namespace { - 6 * mg_value(score) / 8 + mg_value(mobility[Them] - mobility[Us]) + 3 * kingFlankAttacks * kingFlankAttacks / 8 + + 500 * pos.xiangqi_general() - 7; // Transform the kingDanger units into a Score, and subtract it from the evaluation diff --git a/src/position.h b/src/position.h index 0b7a83d..d4e978c 100644 --- a/src/position.h +++ b/src/position.h @@ -136,6 +136,7 @@ public: bool gating() const; bool seirawan_gating() const; bool cambodian_moves() const; + bool xiangqi_general() const; bool unpromoted_soldier(Color c, Square s) const; // winning conditions int n_move_rule() const; @@ -540,6 +541,11 @@ inline bool Position::cambodian_moves() const { return var->cambodianMoves; } +inline bool Position::xiangqi_general() const { + assert(var != nullptr); + return var->xiangqiGeneral; +} + inline bool Position::unpromoted_soldier(Color c, Square s) const { assert(var != nullptr); return var->xiangqiSoldier && relative_rank(c, s, var->maxRank) <= RANK_5; -- 1.7.0.4