Implement variant Makruk
[fairymax.git] / data / fmax.ini
index 64bd2ac..aaf5cbe 100644 (file)
@@ -133,11 +133,24 @@ After that follow upto 18 lines with the description.
 Line 1:     Board size (files x ranks). Ranks must currently still be 8.\r
 Line 2:     initial setup of white pieces on back rank\r
 Line 3:     initial setup of black pieces on back rank\r
-Line 4-10:  Description of pieces present in the opening position\r
-Line 11-18: Description 8 additional piece types\r
-\r
-The rest of the lines is ignored, but some pre-cooked descriptions are\r
-provided for easy copying into the first positions.\r
+Line 4-18:  Description of piece types that can occur in the variant\r
+\r
+There can be upto 15 piece types per variant, numbered 1 to 15.
+Numbers 1 and 2 are considered Pawns for white and black, respectively,
+and the 2nd and 7th rank of the opening setup will be filled with them.
+These pieces will automatically promote to piece number 7 when they 
+reach last rank. So in normal Chess, piece 7 should be programmed as Queen.
+
+Castling can be done only with the original corner piece as specified
+by line 2 and 3. Any royal piece can in principle castle. (Subject to 
+the normal restrictions on castling, i.e. not passing through check etc.)
+If you don't want that, remove the castling moves from the King description. 
+If the castling initiator does not start in a central file, the results are 
+currently undefined.\r
+
+Most variant definitions can be seen at the end of this file.
+Other lines in this file (i.e. those not recognized as belonging to a
+variant description) are ignored. They can be used for comments.\r
 \r
 \r
 \r
@@ -153,6 +166,17 @@ The piece-description lines have the following syntax:
    c) the move-mode descriptor, most easily given in hexadecimal, as the\r
       individual bits specify the various options\r
 \r
+The piece indicator character is used to set up positions, and for the
+promotion choice as 5th character of an input move. (Fairy-Max itself
+always promotes to "Queen", i.e. the 7th piece of the list.)
+If more pieces use the same letter, the first one is used for white,
+and the last one for black. If more than two have the same name, the 
+others cannot be indicated at all, but they could still occur in the
+initial setup (where you specify them by number, not letter).
+
+NOTE: piece value 181 for piece 7 is reserved for Makruk, and enables
+promotion on the 6th rank. Do not use it in other variants.
+
 The individual bits in the move-mode descriptor have the following meaning:\r
 In the last hexadecimal digit:\r
     1 capture allowed (of enemy piece; own pieces always block a move)\r
@@ -208,10 +232,6 @@ black Pawn, respectively, or promotions will have undefined effects. Also
 note that uMax does do primitive evaluation of Pawn structure, which might\r
 become counter-productive if the Pawn move is changed.\r
 \r
-Castling is done with the Rook replacement (the piece that starts in the\r
-corner, whatever its type). If you don't want that, remove the castling\r
-moves from the King desription. If the castling initiator does not start\r
-in a central file, the results are currently undefined.\r
 \r
 \r
 For the truly lazy, a few complete game descriptions can be found below:\r
@@ -245,6 +265,24 @@ q:180 15,7 17,7 -15,7 -17,7
 e:110 30,7 34,7 -30,7 -34,7\r
 f:180 15,7 17,7 -15,7 -17,7\r
 \r
+// Thai Chess. Note: value m = 181 controls promotion at 6th!\r
+Game: makruk\r
+8x8\r
+6 4 5 7 3 5 4 6\r
+6 4 8 3 7 8 4 6\r
+p:100 -16,6 -15,5 -17,5 \r
+p:100 16,6 15,5 17,5\r
+k:-1  1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+n:450 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+s:300 15,7 17,7 -15,7 -17,7 -16,7\r
+R:630 1,3 16,3 -1,3 -16,3\r
+m:181 15,7 17,7 -15,7 -17,7\r
+s:300 15,7 17,7 -15,7 -17,7 16,7\r
+f:181 15,7 17,7 -15,7 -17,7\r
+q:181 15,7 17,7 -15,7 -17,7\r
+b:300 15,7 17,7 -15,7 -17,7 -16,7\r
+b:300 15,7 17,7 -15,7 -17,7 16,7\r
+\r
 // Medieval intermediate between Shatranj and FIDE Chess\r
 Game: courier\r
 12x8\r
@@ -268,7 +306,7 @@ Game: knightmate
 6 4 5 7 3 5 4 6\r
 p:74 -16,24 -16,6 -15,5 -17,5 \r
 p:74  16,24 16,6 15,5 17,5\r
-u:-1  1,34 -1,34 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+k:-1  1,34 -1,34 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
 m:222 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
 b:296 15,3 17,3 -15,3 -17,3\r
 R:444 1,3 16,3 -1,3 -16,3\r