From: Fabian Fichter Date: Fri, 11 Oct 2019 13:07:50 +0000 (+0200) Subject: Extend variant INI documentation (#30) X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=b716b6a6015e41b899a8a09bf491e424b6391b6e;p=fairystockfish.git Extend variant INI documentation (#30) --- diff --git a/src/variants.ini b/src/variants.ini index 3dcdd2b..df8c78a 100644 --- a/src/variants.ini +++ b/src/variants.ini @@ -65,67 +65,77 @@ # commoner (non-royal king) # king -### Rule options -# variantTemplate -# pocketSize -# maxRank: maximum rank (e.g., 8) -# maxFile: maximum file (e.g., 8 or h) -# chess960: allow chess960 castling (true/false) -# startFen: FEN of starting position -# promotionRank: relative rank required to reach for promotion (e.g., 8) -# promotionPieceTypes: pieces letters of promotion options (e.g., nbrq) -# sittuyinPromotion: (true/false) -# promotionLimit -# promotedPieceType -# piecePromotionOnCapture: (true/false) -# mandatoryPawnPromotion: (true/false) -# mandatoryPiecePromotion: (true/false) -# pieceDemotion: (true/false) -# endgameEval: (true/false) -# doubleStep: (true/false) -# doubleStepRank -# firstRankDoubleSteps: (true/false) -# castling: (true/false) -# castlingDroppedPiece: (true/false) -# castlingKingsideFile: e.g., g -# castlingQueensideFile: e.g., c -# castlingRank: relative rank of castling, e.g., 1 -# checking: (true/false) -# mustCapture: (true/false) -# mustDrop: (true/false) -# pieceDrops: (true/false) -# dropLoop: (true/false) -# capturesToHand: (true/false) -# firstRankDrops: (true/false) -# dropOnTop: (true/false) -# whiteDropRegion -# blackDropRegion -# sittuyinRookDrop: (true/false) -# dropOppositeColoredBishop: (true/false) -# dropPromoted: (true/false) -# shogiDoubledPawn: (true/false) -# immobilityIllegal: (true/false) -# gating: (true/false) -# nMoveRule: e.g., 50 -# nFoldRule: e.g., 3 -# nFoldValue: (win/draw/loss) -# nFoldValueAbsolute: (true/false) -# perpetualCheckIllegal: (true/false) +### Option types +# [bool]: boolean flag to enable/disable a feature [true, false] +# [Rank]: denotes a rank of the board [1-10] +# [File]: denotes a file of the board [1-12, a-i] +# [int]: any natural number [0, 1, ...] +# [PieceType]: a piece type [letters defined for pieces, e.g., p] +# [Bitboard]: list of squares [e.g., d4 e4 d5 e5] +# [Value]: game result [win, loss, draw] +# [CountingRule]: makruk or ASEAN counting rules [makruk, asean, none] + +### Rule definition options +# variantTemplate: only relevant for XBoard/WinBoard [values: fairy, shogi] (default: fairy) +# pocketSize: number of pockets shown by XBoard/WinBoard for drop variants (default: 0) +# maxRank: maximum rank [Rank] (default: 8) +# maxFile: maximum file [File] (default: 8) +# chess960: allow chess960 castling [bool] (default: false) +# startFen: FEN of starting position (default: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1) +# promotionRank: relative rank required to reach for promotion [Rank] (default: 8) +# promotionPieceTypes: letters of promotion piece options (default: nbrq) +# sittuyinPromotion: [bool] (default: false) +# promotionLimit: +# promotedPieceType: +# piecePromotionOnCapture: [bool] (default: false) +# mandatoryPawnPromotion: [bool] (default: true) +# mandatoryPiecePromotion: [bool] (default: false) +# pieceDemotion: [bool] (default: false) +# endgameEval: [bool] (default: false) +# doubleStep: enable pawn double step [bool] (default: true) +# doubleStepRank: [Rank] (default: ) +# firstRankDoubleSteps: [bool] (default: false) +# castling: enable castling [bool] (default: true) +# castlingDroppedPiece: [bool] (default: false) +# castlingKingsideFile: [File] (default: g) +# castlingQueensideFile: [File] (default: c) +# castlingRank: relative rank of castling [Rank] (default: 1) +# checking: allow checks [bool] (default: true) +# mustCapture: [bool] (default: false) +# mustDrop: [bool] (default: false) +# pieceDrops: [bool] (default: false) +# dropLoop: [bool] (default: false) +# capturesToHand: [bool] (default: false) +# firstRankDrops: [bool] (default: false) +# dropOnTop: [bool] (default: false) +# whiteDropRegion: [Bitboard] +# blackDropRegion: [Bitboard] +# sittuyinRookDrop: [bool] (default: false) +# dropOppositeColoredBishop: [bool] (default: false) +# dropPromoted: [bool] (default: false) +# shogiDoubledPawn: allow shogi pawns to be doubled [bool] (default: true) +# immobilityIllegal: [bool] (default: false) +# gating: [bool] (default: false) +# nMoveRule: [int] (default: 50) +# nFoldRule: [int] (default: 3) +# nFoldValue: [Value] (default: draw) +# nFoldValueAbsolute: [bool] (default: false) +# perpetualCheckIllegal: [bool] (default: false) # stalemateValue: (win/draw/loss) # checkmateValue: (win/draw/loss) -# shogiPawnDropMateIllegal: (true/false) -# shatarMateRule: (true/false) -# bareKingValue: (win/draw/loss) -# extinctionValue: (win/draw/loss) -# bareKingMove: (true/false) -# extinctionPieceTypes -# flagPiece -# whiteFlag -# blackFlag -# flagMove: (true/false) -# checkCounting: (true/false) -# connectN: number of aligned pieces for win (e.g., 4) -# countingRule: (makruk/asean) +# shogiPawnDropMateIllegal: [bool] (default: false) +# shatarMateRule: [bool] (default: false) +# bareKingValue: [Value] (default: ) +# extinctionValue: [Value] (default: ) +# bareKingMove: [bool] (default: false) +# extinctionPieceTypes: +# flagPiece: [PieceType] (default: ) +# whiteFlag: [Bitboard] (default: ) +# blackFlag: [Bitboard] (default: ) +# flagMove: [bool] (default: false) +# checkCounting: [bool] (default: false) +# connectN: number of aligned pieces for win [int] (default: 0) +# countingRule: enable counting rules [CountingRule] (default: ) ################################################ ### Example for minishogi configuration that would be equivalent to the built-in variant: