v->materialCounting = UNWEIGHTED_MATERIAL;
return v;
}
+ // Flipersi
+ // https://en.wikipedia.org/wiki/Reversi
+ Variant* flipersi_variant() {
+ Variant* v = chess_variant_base()->init();
+ v->pieceToCharTable = "P.................p.................";
+ v->maxRank = RANK_8;
+ v->maxFile = FILE_H;
+ v->reset_pieces();
+ v->add_piece(IMMOBILE_PIECE, 'p');
+ v->startFen = "8/8/8/8/8/8/8/8[PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppppppppppppp] w 0 1";
+ v->promotionPieceTypes = {};
+ v->pieceDrops = true;
+ v->doubleStep = false;
+ v->castling = false;
+ v->immobilityIllegal = false;
+ v->stalemateValue = -VALUE_MATE;
+ v->stalematePieceCount = true;
+ v->passOnStalemate = false;
+ v->enclosingDrop = REVERSI;
+ v->enclosingDropStart = make_bitboard(SQ_D4, SQ_E4, SQ_D5, SQ_E5);
+ v->flipEnclosedPieces = REVERSI;
+ v->materialCounting = UNWEIGHTED_MATERIAL;
+ return v;
+ }
+ // Flipello
+ // https://en.wikipedia.org/wiki/Reversi#Othello
+ Variant* flipello_variant() {
+ Variant* v = flipersi_variant()->init();
+ v->startFen = "8/8/8/3pP3/3Pp3/8/8/8[PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppppppppppppp] w 0 1";
+ v->passOnStalemate = true;
+ return v;
+ }
// Minixiangqi
// http://mlwi.magix.net/bg/minixiangqi.htm
Variant* minixiangqi_variant() {
return v;
}
// Clobber 10x10
- // Clobber on a 10x10, mainly played by computers
+ // Clobber on a 10x10 board, mainly played by computers
// https://en.wikipedia.org/wiki/Clobber
Variant* clobber10_variant() {
Variant* v = clobber_variant()->init();
"pPpPpPpPpP/PpPpPpPpPp/pPpPpPpPpP/PpPpPpPpPp/pPpPpPpPpP w 0 1";
return v;
}
+ // Flipello 10x10
+ // Othello on a 10x10 board, mainly played by computers
+ // https://en.wikipedia.org/wiki/Reversi
+ Variant* flipello10_variant() {
+ Variant* v = flipello_variant()->init();
+ v->maxRank = RANK_10;
+ v->maxFile = FILE_J;
+ v->startFen = "10/10/10/10/4pP4/4Pp4/10/10/10/10[PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp] w - - 0 1";
+ v->enclosingDropStart = make_bitboard(SQ_E5, SQ_F5, SQ_E6, SQ_F6);
+ return v;
+ }
#ifdef ALLVARS
// Game of the Amazons
// https://en.wikipedia.org/wiki/Game_of_the_Amazons
add("clobber", clobber_variant());
add("breakthrough", breakthrough_variant());
add("ataxx", ataxx_variant());
+ add("flipersi", flipersi_variant());
+ add("flipello", flipello_variant());
add("minixiangqi", minixiangqi_variant());
#ifdef LARGEBOARDS
add("shogi", shogi_variant());
add("tencubed", tencubed_variant());
add("shako", shako_variant());
add("clobber10", clobber10_variant());
+ add("flipello10", flipello10_variant());
#ifdef ALLVARS
add("amazons", amazons_variant());
#endif
connectN = 4
nMoveRule = 0
-[flipersi]
-immobile = p
-startFen = 8/8/8/8/8/8/8/8[PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppppppppppppp] w 0 1
-pieceDrops = true
-promotionPieceTypes = -
-doubleStep = false
-castling = false
-stalemateValue = loss
-stalematePieceCount = true
-materialCounting = unweighted
-enclosingDrop = reversi
-enclosingDropStart = d4 e4 d5 e5
-immobilityIllegal = false
-flipEnclosedPieces = reversi
-passOnStalemate = false
-
-[flipello:flipersi]
-startFen = 8/8/8/3pP3/3Pp3/8/8/8[PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppppppppppppp] w 0 1
-passOnStalemate = true
+[flipello6:flipello]
+maxRank = 6
+maxFile = 6
+startFen = 6/6/2pP2/2Pp2/6/6[PPPPPPPPPPPPPPPPPPPPPPpppppppppppppppppppppp] w 0 1
+enclosingDropStart = c2 d2 c3 d3
[grandhouse:grand]
startFen = r8r/1nbqkcabn1/pppppppppp/10/10/10/10/PPPPPPPPPP/1NBQKCABN1/R8R[] w - - 0 1