Support capahouse
authorFabian Fichter <ianfab@users.noreply.github.com>
Mon, 12 Aug 2019 20:35:04 +0000 (22:35 +0200)
committerFabian Fichter <ianfab@users.noreply.github.com>
Mon, 12 Aug 2019 20:35:04 +0000 (22:35 +0200)
src/types.h
src/variant.cpp

index bf276c6..7600312 100644 (file)
@@ -216,7 +216,7 @@ typedef uint64_t Bitboard;
 constexpr int SQUARE_BITS = 6;
 #endif
 
-constexpr int MAX_MOVES = 512;
+constexpr int MAX_MOVES = 1024;
 constexpr int MAX_PLY   = 246;
 
 /// A move needs 16 bits to be stored
index 443d83e..4550639 100644 (file)
@@ -511,6 +511,13 @@ VariantMap variants; // Global object
         v->promotionPieceTypes = {ARCHBISHOP, CHANCELLOR, QUEEN, ROOK, BISHOP, KNIGHT};
         return v;
     }
+    Variant* capahouse_variant() {
+        Variant* v = capablanca_variant();
+        v->startFen = "rnabqkbcnr/pppppppppp/10/10/10/10/PPPPPPPPPP/RNABQKBCNR[] w KQkq - 0 1";
+        v->pieceDrops = true;
+        v->capturesToHand = true;
+        return v;
+    }
     Variant* caparandom_variant() {
         Variant* v = capablanca_variant();
         v->chess960 = true;
@@ -672,6 +679,7 @@ void VariantMap::init() {
 #ifdef LARGEBOARDS
     add("shogi", shogi_variant());
     add("capablanca", capablanca_variant());
+    add("capahouse", capahouse_variant());
     add("caparandom", caparandom_variant());
     add("gothic", gothic_variant());
     add("janus", janus_variant());