From 01557b136c0e8d735856d039e78084bca46c3d32 Mon Sep 17 00:00:00 2001 From: Fabian Fichter Date: Sun, 17 May 2020 15:14:49 +0200 Subject: [PATCH] Add additional Janggi rule set Cover all four combinations of bikjang and material counting. --- src/variant.cpp | 14 ++++++++++++-- 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/variant.cpp b/src/variant.cpp index d5c471c..83814c7 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -852,6 +852,7 @@ namespace { } // Janggi (Korean chess) // https://en.wikipedia.org/wiki/Janggi + // Official tournament rules with bikjang and material counting. Variant* janggi_variant() { Variant* v = xiangqi_variant(); v->pieceToCharTable = ".N.R.AB.P..C.........K.n.r.ab.p..c.........k"; @@ -888,13 +889,21 @@ namespace { v->materialCounting = NO_MATERIAL_COUNTING; return v; } - // Casual rules of Janggi, where bikjang is not considered - Variant* janggi_casual_variant() { + // Modern rules of Janggi, where bikjang is not considered, but material counting is. + // This is e.g. used on Kakao Janggi. + Variant* janggi_modern_variant() { Variant* v = janggi_variant(); v->bikjangRule = false; v->materialCounting = JANGGI_MATERIAL; return v; } + // Casual rules of Janggi, where bikjang and material counting are not considered + Variant* janggi_casual_variant() { + Variant* v = janggi_variant(); + v->bikjangRule = false; + v->materialCounting = NO_MATERIAL_COUNTING; + return v; + } #endif } // namespace @@ -980,6 +989,7 @@ void VariantMap::init() { add("supply", supply_variant()); add("janggi", janggi_variant()); add("janggitraditional", janggi_traditional_variant()); + add("janggimodern", janggi_modern_variant()); add("janggicasual", janggi_casual_variant()); #endif } -- 1.7.0.4