Add Cambodian Chess
[fairymax.git] / data / fmax.ini
index 97fbe64..a1d6644 100644 (file)
@@ -133,11 +133,28 @@ 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
+Line 4-18:  Description of piece types that can occur in the variant\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
+There can be upto 15 piece types per variant, numbered 1 to 15.\r
+Numbers 1 and 2 are considered Pawns for white and black, respectively,\r
+and the 2nd and 7th rank of the opening setup will be filled with them.\r
+These pieces will automatically promote to piece number 7 when they \r
+reach last rank. So in normal Chess, piece 7 should be programmed as Queen.\r
+There is one exception to this: if the initial setup does have a white\r
+piece 7, but not a black one, and black has a piece number 9, then\r
+black will always promote to the latter. (This can be useful in variants\r
+with different armies for black and white).\r
+\r
+Castling can be done only with the original corner piece as specified\r
+by line 2 and 3. Any royal piece can in principle castle. (Subject to \r
+the normal restrictions on castling, i.e. not passing through check etc.)\r
+If you don't want that, remove the castling moves from the King description. \r
+If the castling initiator does not start in a central file, the results are \r
+currently undefined.\r
+\r
+Most variant definitions can be seen at the end of this file.\r
+Other lines in this file (i.e. those not recognized as belonging to a\r
+variant description) are ignored. They can be used for comments.\r
 \r
 \r
 \r
@@ -153,6 +170,25 @@ 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\r
+promotion choice as 5th character of an input move. (Fairy-Max itself\r
+always promotes to "Queen", i.e. the 7th piece of the list.)\r
+If more pieces use the same letter, the first one is used for white,\r
+and the last one for black. If more than two have the same name, the \r
+others cannot be indicated at all, but they could still occur in the\r
+initial setup (where you specify them by number, not letter).\r
+\r
+Pieces with negative values are considered royal. If one side has more than\r
+one royal piece of the same type, he loses if the _last_ one is captured.\r
+This means any 'spare' royal pieces can be sacrificed, and the exchange\r
+value assumed for them will be the absolute value of what you defined.\r
+With a value -1, however, loss of the first piece of that type loses the game.\r
+For royal piece types larger than 7 there is the special rule that it is not\r
+allowed to leave more than one of them under attack ('duple check').\r
+\r
+NOTE: piece value 181 for piece 7 is reserved for Makruk, and enables\r
+promotion on the 6th rank. Do not use it in other variants.\r
+\r
 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,11 +244,16 @@ 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
+A low digit equal to 4 gets special treatment, as the normal interpretation as\r
+the last and only step of a move which can neither capture nor move is useles.\r
+It will in stead be used as if it was 0 (i.e. there is a follow-up step),\r
+but only if the piece has not moved before. If the 1 or 2 bit of the preceding\r
+toggle digit are set, they then determine what the move can do after this second\r
+step, in the normal way. (For pawn double-push and castling this would normally\r
+be a non-capture.) The 4 and 8 bits of this toggle digit are not used for\r
+toggling the leaper and hopper bits, though, but indicate if e.p. capture\r
+on the reply should be suppressed, and if the move should be allowed to continue\r
+even if the first step hits an occupied square.\r
 \r
 For the truly lazy, a few complete game descriptions can be found below:\r
 \r
@@ -245,6 +286,43 @@ 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
+12 11 8 7 3 8 11 12\r
+12 11 9 3 7 9 11 12\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
+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
+m:181 15,7 17,7 -15,7 -17,7\r
+s:300 15,7 17,7 -15,7 -17,7 -16,7\r
+s: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
+n:450 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+R:630 1,3 16,3 -1,3 -16,3\r
+\r
+// Cambodian Chess. Like Makruk, but with extra initial King and Met moves\r
+Game: fairy/Cambodian # PN.R.M....SKpn.r.m....sk\r
+8x8\r
+13 12 8 3 7 8 12 13\r
+13 12 9 7 4 9 12 13\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 -16,10F4 -16,1F0F4 -1,100F4 1,FFFF00F4\r
+k:-1  1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 16,10F4 16,1F0F4 1,100F4 -1,FFFF00F4\r
+f:181 15,7 17,7 -15,7 -17,7 16,F4 -16,F4\r
+q:181 15,7 17,7 -15,7 -17,7 16,F4 -16,F4\r
+m:181 15,7 17,7 -15,7 -17,7 16,F4 -16,F4\r
+s:300 15,7 17,7 -15,7 -17,7 -16,7\r
+s: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
+b:300 15,7 17,7 -15,7 -17,7 16,7\r
+n:450 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+R:630 1,3 16,3 -1,3 -16,3\r
+\r
 // Medieval intermediate between Shatranj and FIDE Chess\r
 Game: courier\r
 12x8\r
@@ -319,7 +397,7 @@ b:450 15,103 17,103 -15,103 -17,103
 R:525 1,103 16,3 -1,103 -16,3\r
 Q:1150 1,103 16,3 15,103 17,103 -1,103 -16,3 -15,103 -17,103\r
 \r
-// Berolina Chess. In WinBoard 4.3.15 you can play this with legality testing switched off
+// Berolina Chess. In WinBoard 4.3.15 you can play this with legality testing switched off\r
 Game: berolina\r
 8x8\r
 6 4 5 7 3 5 4 6\r
@@ -351,29 +429,161 @@ A:1200 1,3 16,3 -1,3 -16,3 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7
 o:700 2,7 30,7 32,7 34,7 -2,7 -30,7 -32,7 -34,7 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
 g:640 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 2,7 30,7 32,7 34,7 -2,7 -30,7 -32,7 -34,7\r
 m:-1  1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 16,70 -16,70\r
-d:625 1,7 16,7 -1,7 -16,7 15,3 17,3 -15,3 -17,3\r
+w:340 1,7 16,7 -1,7 -16,7 2,7 32,7 -2,7 -32,7\r
+\r
+// Seirawan Chess (with Archbishop and Chancellor gated in during game)\r
+Game: seirawan\r
+8x8\r
+5 3 4 7 6 4 3 5\r
+5 3 4 7 6 4 3 5\r
+p:74 -16,24 -16,6 -15,5 -17,5 \r
+p:74  16,24 16,6 15,5 17,5\r
+n:259 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+b:296 15,3 17,3 -15,3 -17,3\r
+R:444 1,3 16,3 -1,3 -16,3\r
+k:-1  1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+Q:851 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
+k:-1  1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+h:780 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+E:814 1,3 16,3 -1,3 -16,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+\r
+// Spartan Chess, where black has a different army from white's orthodox FIDE, with two kings\r
+Game: fairy/Spartan # PNBRQ..............K....q.lwg.....c...hk\r
+8x8\r
+6 4 5 7 11 5 4 6\r
+3 10 12 8 8 12 9 3\r
+p:74 -16,64 -16,6 -15,5 -17,5 \r
+h:70  15,E4  17,E4 16,5 15,6 17,6\r
+l:290 15,7 17,7 -15,7 -17,7 30,7 34,7 -30,7 -34,7 1,6 -1,6\r
+n:259 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+b:296 15,3 17,3 -15,3 -17,3\r
+R:444 1,3 16,3 -1,3 -16,3\r
+Q:851 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
+c:255 1,7 16,7 -1,7 -16,7 2,7 -2,7 32,7 -32,7\r
+w:790 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+G:640 1,3 16,3 -1,3 -16,3 15,7 17,7 -15,7 -17,7\r
+k:-435 1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+k:-435 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+\r
+Game: spartan\r
+8x8\r
+6 4 5 7 11 5 4 6\r
+3 10 12 8 8 12 9 3\r
+p:74 -16,64 -16,6 -15,5 -17,5 \r
+h:70  15,E4  17,E4 16,5 15,6 17,6\r
+l:290 15,7 17,7 -15,7 -17,7 30,7 34,7 -30,7 -34,7 1,6 -1,6\r
+n:259 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+b:296 15,3 17,3 -15,3 -17,3\r
+R:444 1,3 16,3 -1,3 -16,3\r
+Q:851 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
+c:255 1,7 16,7 -1,7 -16,7 2,7 -2,7 32,7 -32,7\r
+w:790 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+G:640 1,3 16,3 -1,3 -16,3 15,7 17,7 -15,7 -17,7\r
+k:-435 1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+k:-435 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+\r
+// Set for Chess with Different Armies, FIDE vs Color-bound Cloberers (legality-testing off!)\r
+Game: fairy/FIDE-Clobberers # PNBRQ.........Kp.....eac....lk\r
+8x8\r
+6 4 5 7 10 5 4 6\r
+12 3 8 9 11 8 3 12\r
+p:100 -16,24 -16,6 -15,5 -17,5 \r
+p:100 16,24 16,6 15,5 17,5\r
+e:320 30,7 34,7 -30,7 -34,7 16,7 -16,7 1,7 -1,7\r
+n:325 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+b:350 15,3 17,3 -15,3 -17,3\r
+R:500 16,3 -16,3 -1,3 1,3\r
+Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
+c:480 15,7 17,7 -15,7 -17,7 32,7 -32,7 2,7 -2,7 30,7 34,7 -30,7 -34,7\r
+A:875 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+k:-1  1,34 -1,34 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+k:-1  1,34 -1,1034 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+l:530 15,3 17,3 -15,3 -17,3 32,7 -32,7 2,7 -2,7\r
 \r
-Game: fairy\r
+Game: fairy/Clobberers-FIDE # P.....EAC....LKpnbrq.........k\r
 8x8\r
-10 9 8 7 3 5 4 6\r
-10 9 8 7 3 5 4 6\r
+12 3 8 7 10 8 3 12\r
+6 4 5 9 11 5 4 6\r
 p:100 -16,24 -16,6 -15,5 -17,5 \r
 p:100 16,24 16,6 15,5 17,5\r
-k:-1  1,34 -1,34 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+e:320 30,7 34,7 -30,7 -34,7 16,7 -16,7 1,7 -1,7\r
 n:325 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
 b:350 15,3 17,3 -15,3 -17,3\r
-R:500 1,3 16,3 -1,3 -16,3\r
+R:500 16,3 -16,3 -1,3 1,3\r
+A:875 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+c:480 15,7 17,7 -15,7 -17,7 32,7 -32,7 2,7 -2,7 30,7 34,7 -30,7 -34,7\r
 Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
-e:60 30,7 34,7 -30,7 -34,7\r
-H:560 14,3 31,3 33,3 18,3 -14,3 -31,3 -33,3 -18,3\r
-O:320 1,BA 16,BA -1,BA -16,BA\r
+k:-1  1,34 -1,1034 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+k:-1  1,34 -1,34 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+l:530 15,3 17,3 -15,3 -17,3 32,7 -32,7 2,7 -2,7\r
+\r
+Game: fairy/FIDE-Nutters # PNBRQ................Kp...........h.t.c...uk\r
+8x8\r
+6 4 5 7 10 5 4 6\r
+11 3 8 9 10 8 3 11\r
+p:100 -16,24 -16,6 -15,5 -17,5 \r
+p:100 16,24 16,6 15,5 17,5\r
+h:310 31,7 33,7 15,7 17,7 -31,7 -33,7 -15,7 -17,7 \r
+n:325 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+b:350 15,3 17,3 -15,3 -17,3\r
+R:500 16,3 -16,3 -1,3 1,3\r
+Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
+u:400 31,7 33,7 14,7 18,7 1,7 -1,7 -16,7 -15,7 -17,7\r
+C:935 16,3 1,3 -1,3 14,7 31,7 33,7 18,7 15,7 17,7 -16,7 -15,7 -17,7\r
+k:-1  1,34 -1,34 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+t:485 16,3 1,3 -1,3 -16,7 -15,7 -17,7\r
+\r
+Game: fairy/Nutters-FIDE # P...........H.T.C...UKpnbrq................k\r
+8x8\r
+11 3 6 7 10 6 3 11\r
+8 4 5 9 10 5 4 8\r
+p:100 -16,24 -16,6 -15,5 -17,5 \r
+p:100 16,24 16,6 15,5 17,5\r
+h:310 31,7 33,7 15,7 17,7 -31,7 -33,7 -15,7 -17,7 \r
+n:325 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+b:350 15,3 17,3 -15,3 -17,3\r
+u:400 -31,7 -33,7 -14,7 -18,7 1,7 -1,7 16,7 15,7 17,7\r
+C:935 -16,3 1,3 -1,3 -14,7 -31,7 -33,7 -18,7 -15,7 -17,7 16,7 15,7 17,7\r
+R:500 16,3 -16,3 -1,3 1,3\r
+Q:950 1,3 16,3 15,3 17,3 -1,3 -16,3 -15,3 -17,3\r
+k:-1  1,34 -1,34 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+t:485 -16,3 1,3 -1,3 16,7 15,7 17,7\r
+\r
+Game: fairy/Clobberers-Nutters # P.....EAC....L.......Kp...........h.t.c...uk\r
+8x8\r
+6 4 5 7 10 5 4 6\r
+11 3 8 9 12 8 3 11\r
+p:100 -16,24 -16,6 -15,5 -17,5 \r
+p:100 16,24 16,6 15,5 17,5\r
+h:310 31,7 33,7 15,7 17,7 -31,7 -33,7 -15,7 -17,7 \r
+e:320 30,7 34,7 -30,7 -34,7 16,7 -16,7 1,7 -1,7\r
+c:480 15,7 17,7 -15,7 -17,7 32,7 -32,7 2,7 -2,7 30,7 34,7 -30,7 -34,7\r
+l:530 15,3 17,3 -15,3 -17,3 32,7 -32,7 2,7 -2,7\r
 A:875 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
-C:900 1,3 16,3 -1,3 -16,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
-v:850 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
-Z:1260 1,3 16,3 -1,3 -16,3 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
-m:275 1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+u:400 31,7 33,7 14,7 18,7 1,7 -1,7 -16,7 -15,7 -17,7\r
+C:935 16,3 1,3 -1,3 14,7 31,7 33,7 18,7 15,7 17,7 -16,7 -15,7 -17,7\r
+k:-1  1,34 -1,1034 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+t:485 16,3 1,3 -1,3 -16,7 -15,7 -17,7\r
+k:-1  1,34 -1,34 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+\r
+Game: fairy/Nutters-Clobberers # P...........H.T.C...UKp.....eac....l.......k\r
+8x8\r
+11 3 6 7 10 6 3 11\r
+5 4 8 9 12 8 4 5\r
+p:100 -16,24 -16,6 -15,5 -17,5 \r
+p:100 16,24 16,6 15,5 17,5\r
+h:310 31,7 33,7 15,7 17,7 -31,7 -33,7 -15,7 -17,7 \r
+e:320 30,7 34,7 -30,7 -34,7 16,7 -16,7 1,7 -1,7\r
+l:530 15,3 17,3 -15,3 -17,3 32,7 -32,7 2,7 -2,7\r
+u:400 -31,7 -33,7 -14,7 -18,7 1,7 -1,7 16,7 15,7 17,7\r
+C:935 -16,3 1,3 -1,3 -14,7 -31,7 -33,7 -18,7 -15,7 -17,7 16,7 15,7 17,7\r
+c:480 15,7 17,7 -15,7 -17,7 32,7 -32,7 2,7 -2,7 30,7 34,7 -30,7 -34,7\r
+A:875 15,3 17,3 -15,3 -17,3 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7\r
+k:-1  1,34 -1,34 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
+t:485 -16,3 1,3 -1,3 16,7 15,7 17,7\r
+k:-1  1,34 -1,1034 1,7 -1,7 16,7 15,7 17,7 -16,7 -15,7 -17,7\r
 \r
-// Great Shatranj: modern variant with range-two leapers replacing sliders, on 10x8 board
+// Great Shatranj: modern variant with range-two leapers replacing sliders, on 10x8 board.\r
 // Must be played with legality testing off in XBoard 4.4.0.\r
 Game: great\r
 10x8\r