From c1c47e4a257acc3f617af95584f9d143ab1117f0 Mon Sep 17 00:00:00 2001 From: ianfab Date: Fri, 17 Aug 2018 21:24:03 +0200 Subject: [PATCH] Support codrus chess Variant of antichess with forced captures; losing the king wins. http://www.chessvariants.com/diffobjective.dir/giveaway.html http://www.binnewirtz.com/Schlagschach1.htm --- src/variant.cpp | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/src/variant.cpp b/src/variant.cpp index 216b73f..5903fb5 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -160,6 +160,17 @@ void VariantMap::init() { v->mustCapture = true; return v; } (); + const Variant* codrus = [&]{ + Variant* v = new Variant(); + v->remove_piece(KING); + v->add_piece(COMMONER, 'k'); + v->startFen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; + v->promotionPieceTypes = {QUEEN, ROOK, BISHOP, KNIGHT}; + v->extinctionValue = VALUE_MATE; + v->extinctionPieceTypes = {COMMONER}; + v->mustCapture = true; + return v; + } (); const Variant* extinction = [&]{ Variant* v = new Variant(); v->remove_piece(KING); @@ -399,6 +410,7 @@ void VariantMap::init() { add("losers", losers); add("giveaway", giveaway); add("antichess", antichess); + add("codrus", codrus); add("extinction", extinction); add("kinglet", kinglet); add("horde", horde); -- 1.7.0.4