From ee5ac308f9b0f2d8dd1027a457ac822c7745ac56 Mon Sep 17 00:00:00 2001 From: ianfab Date: Tue, 3 Jul 2018 22:50:54 +0200 Subject: [PATCH] Minishogi WIP --- src/variant.cpp | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) diff --git a/src/variant.cpp b/src/variant.cpp index 9f30262..1b1c86f 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -175,6 +175,27 @@ void VariantMap::init() { v->set_piece(KING, 'k'); v->startFen = "1nbgkgn1/1r4b1/pppppppp/8/8/PPPPPPPP/1B4R1/1NGKGBN1[-] w 0 1"; v->pieceDrops = true; + v->promotionRank = RANK_6; + v->promotionPieceTypes = {}; + v->doubleStep = false; + v->castling = false; + // TODO: piece promotions, illegal pawn drops + return v; + } (); + const Variant* minishogi = [&]{ + Variant* v = new Variant(); + v->maxRank = RANK_5; + v->maxFile = FILE_E; + v->reset_pieces(); + v->set_piece(SHOGI_PAWN, 'p'); + v->set_piece(SILVER, 's'); + v->set_piece(GOLD, 'g'); + v->set_piece(BISHOP, 'b'); + v->set_piece(ROOK, 'r'); + v->set_piece(KING, 'k'); + v->startFen = "rbsgk/4p/5/P4/KGSBR[-] w 0 1"; + v->pieceDrops = true; + v->promotionRank = RANK_5; v->promotionPieceTypes = {}; v->doubleStep = false; v->castling = false; @@ -208,6 +229,7 @@ void VariantMap::init() { insert(std::pair(std::string("crazyhouse"), crazyhouse)); insert(std::pair(std::string("loop"), loop)); insert(std::pair(std::string("euroshogi"), euroshogi)); + insert(std::pair(std::string("minishogi"), minishogi)); insert(std::pair(std::string("losalamos"), losalamos)); } -- 1.7.0.4