Support bughouse
authorFabian Fichter <ianfab@users.noreply.github.com>
Wed, 25 Dec 2019 08:42:30 +0000 (09:42 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Wed, 25 Dec 2019 08:42:30 +0000 (09:42 +0100)
Add basic support for bughouse without protocol extensions yet.

src/ucioption.cpp
src/variant.cpp

index a23618c..a01d6d2 100644 (file)
@@ -46,7 +46,7 @@ namespace UCI {
 // standard variants of XBoard/WinBoard
 std::set<string> standard_variants = {
     "normal", "fischerandom", "3check", "makruk", "shatranj",
-    "asean", "seirawan", "crazyhouse", "suicide", "giveaway", "losers",
+    "asean", "seirawan", "crazyhouse", "bughouse", "suicide", "giveaway", "losers",
     "capablanca", "gothic", "janus", "caparandom", "grand", "shogi", "xiangqi"
 };
 
index dc8e3e6..f02c826 100644 (file)
@@ -253,6 +253,12 @@ namespace {
         v->firstRankDrops = true;
         return v;
     }
+    Variant* bughouse_variant() {
+        Variant* v = crazyhouse_variant();
+        v->variantTemplate = "bughouse";
+        v->capturesToHand = false;
+        return v;
+    }
     Variant* pocketknight_variant() {
         Variant* v = chess_variant();
         v->variantTemplate = "bughouse";
@@ -808,6 +814,7 @@ void VariantMap::init() {
     add("crazyhouse", crazyhouse_variant());
     add("loop", loop_variant());
     add("chessgi", chessgi_variant());
+    add("bughouse", bughouse_variant());
     add("pocketknight", pocketknight_variant());
     add("placement", placement_variant());
     add("sittuyin", sittuyin_variant());