Implement Ai-Wok option in Makruk
authorH.G. Muller <h.g.muller@hccnet.nl>
Mon, 20 May 2013 10:59:47 +0000 (12:59 +0200)
committerH.G. Muller <h.g.muller@hccnet.nl>
Mon, 20 May 2013 12:13:56 +0000 (14:13 +0200)
The checkbox option to play Makruk with Cambodian rules is now replaced
by a combobox that lets you choose between makruk, cambodian and ai-wok.
The latter is given a new definition in the fmax.ini file. It is Makruk
where the Met is replaced by an Ai-Wok piece (RNF).

data/fmax.ini
fairymax.c

index 93e7f74..ab3e999 100644 (file)
@@ -324,7 +324,7 @@ s:300 15,7 17,7 -15,7 -17,7 16,7
 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
-// Thai Chess. Note: value m = 181 controls promotion at 6th!\r
+// Thai Chess.\r
 Game: makruk\r
 8x8=3\r
 12 11 8 7 3 8 11 12\r
@@ -361,6 +361,20 @@ b:300 15,7 17,7 -15,7 -17,7 16,7
 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
+// Thai Chess variant with Ai-Wok (RNF).\r
+Game: ai-wok\r
+8x8=3\r
+6 5 3 8 7 3 5 6\r
+6 5 4 7 8 4 5 6\r
+p:100 -16,6 -15,5 -17,5 \r
+p:100 16,6 15,5 17,5\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
+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
+M:1350 14,7 31,7 33,7 18,7 -14,7 -31,7 -33,7 -18,7 1,3 16,3 -1,3 -16,3 15,7 17,7 -15,7 -17,7\r
+k:-1  1,7 16,7 15,7 17,7 -1,7 -16,7 -15,7 -17,7\r
+\r
 // Medieval intermediate between Shatranj and FIDE Chess\r
 Game: courier\r
 12x8\r
index 94edc78..28d92d6 100644 (file)
@@ -100,7 +100,7 @@ int Post;
 int Fifty;\r
 int GameNr;\r
 int Resign;\r
-int Cambodian;\r
+char Cambodian[80] = "makruk";\r
 int Threshold = 800;\r
 int Score;\r
 int makruk;\r
@@ -455,7 +455,7 @@ void PrintOptions()
        printf("feature option=\"Ini File -file %s\"\n", inifile);\r
        printf("feature option=\"Multi-PV Margin -spin %d 0 1000\"\n", margin);\r
        printf("feature option=\"Variant fairy selects -combo "); PrintVariants(1); printf("\"\n");\r
-       printf("feature option=\"Cambodian Makruk rules -check %d\"\n", Cambodian);\r
+       printf("feature option=\"Makruk rules -combo makruk /// cambodian /// ai-wok\"\n");\r
        printf("feature option=\"Dummy Slider Example -slider 20 0 100\"\n");\r
        printf("feature option=\"Dummy String Example -string happy birthday!\"\n");\r
        printf("feature option=\"Dummy Path Example -path .\"\n");\r
@@ -480,7 +480,7 @@ void LoadGame(char *name)
         gating = succession = 0;\r
         if(name != NULL)\r
         {  /* search for game name in definition file */\r
-           if(!strcmp(name, "makruk") && Cambodian) name = "cambodian"; else\r
+           if(!strcmp(name, "makruk")) name = Cambodian; else\r
            if(!strcmp(name, "fairy")) name = selectedFairy;\r
            gating = !strcmp(name, "seirawan");\r
            while((ptc=fscanf(f, "Game: %s # %s", buf, pieceToChar))==0 || strcmp(name, buf) ) {\r
@@ -746,7 +746,7 @@ int main(int argc, char **argv)
                        if(sscanf(line+7, "Clear Hash%c", &c) == 1) for(i=0; i<=U; i++) A->K = 0;\r
                        if(sscanf(line+7, "MultiVariation Margin=%d", &margin) == 1) continue;\r
                        if(sscanf(line+7, "Variant fairy selects=%s", selectedFairy+6) == 1) continue;\r
-                       if(sscanf(line+7, "Cambodian Makruk rules=%d", &Cambodian) == 1) continue;\r
+                       if(sscanf(line+7, "Makruk rules=%s", Cambodian) == 1) continue;\r
                        continue;\r
                }\r
                if (!strcmp(command, "go")) {\r