X-Git-Url: http://winboard.nl/cgi-bin?a=blobdiff_plain;f=fairymax.c;h=b5086d5fd0d0e1f0cf25bd2d85324a2d71859c9b;hb=72dc68f33a353ae391f7e42a416d312c6028482c;hp=aa845dcc33f26ac0f55ad27b019ef586d65bbcde;hpb=dcb0657b9bf755387c949ae37ca12402ac08eb13;p=fairymax.git diff --git a/fairymax.c b/fairymax.c index aa845dc..b5086d5 100644 --- a/fairymax.c +++ b/fairymax.c @@ -92,6 +92,7 @@ int GameNr; int Resign; int Threshold = 800; int Score; +int makruk; char piecename[32], piecetype[32], blacktype[32]; char *inifile = INI_FILE; @@ -192,6 +193,7 @@ int k,q,l,e,E,z,n; /* (q,l)=window, e=current eval. score, E=e.p. sqr.*/ +(w[b[x^16]&15]<0)) /*** cling to magnetic K ***/ +(R-76>>2); /* end-game Pawn-push bonus */ b[y]+=V=y+r+1&S?647-p:2*(u&y+16&32); /* upgrade P or convert to Q*/ + if(V&makruk)b[y]=u|7,V=480; /* Makruk promotion on 6th */ V>>=sh; /* for Shatranj promo to F */ i+=V; /* promotion / passer bonus */ } if(z&S && GamePtr<6) v+=(rand()>>10&31)-16; @@ -469,6 +471,7 @@ int LoadGame(char *name) fclose(f); sh = w[7] < 250 ? 3 : 0; + makruk = w[7]==181 ? 64 : 0; // w[7] is used as kludge to enable makruk promotions } int main(int argc, char **argv)