Implement e.p.-less initial double-moves
[fairymax.git] / fairymax.c
index d02f86a..3b2db59 100644 (file)
@@ -248,7 +248,7 @@ int k,q,l,e,E,z,n;      /* (q,l)=window, e=current eval. score, E=e.p. sqr.*/
          ((b[G=r<0?x&~15:BW-1|x&112]^32)<33    /* no virgin R in corner G, */\r
          ||b[G^1]|b[G^2]|b[FF=y+v-r])          /* no 2 empty sq. next to R */\r
         )t+=flag&4;                            /* fake capt. for nonsliding*/\r
-      else F=y;                                /* enable e.p.              */\r
+      else if(flag&64)t=flag&128?0:t,flag&=63;else F=y; /* enable e.p.     */\r
       if(s&&flag&8)t=0,flag^=flag>>4&15;       /* hoppers go to next phase */\r
       if(!(flag&S))                            /* zig-zag piece?           */\r
        r=v,flag^=flag>>4&15;                   /* alternate vector & mode  */\r