int ply, nodeCount, forceMove, choice, rootMove, lastGameMove, rootScore, abortFlag, postThinking=1; // some frequently used data
int maxDepth=MAXPLY-2, timeControl=3000, mps=40, inc, timePerMove, timeLeft=1000; // TC parameters
+int rootFirst, rootCurrent, rootLast, rootPly;
#define H_LOWER 1
#define H_UPPER 2
}
}
}
+ if(ply == 0) rootFirst = m.firstMove, rootLast = moveSP, rootCurrent = curMove, rootPly = iterDepth;
} // move loop
// stalemate correction
if(!strcmp(command, "post")) { postThinking = ON; return 0; }
if(!strcmp(command, "nopost")) { postThinking = OFF;return 0; }
if(!strcmp(command, "random")) { randomize = ON; return 0; }
- if(!strcmp(command, ".")) { return 0; } // periodic update request; ignore for now
+ if(!strcmp(command, ".")) { // periodic update request;
+ printf("stat01: %d %d %d %d %d %s\n", ReadClock(0)/10, nodeCount, rootPly,
+ rootLast - rootCurrent + 1, rootLast - rootFirst, MoveToText(moveStack[rootCurrent]));
+ fflush(stdout); return 0;
+ }
if(!strcmp(command, "option")) { // setting of engine-define option; find out which
if(sscanf(inBuf+7, "Resign=%d", &resign) == 1) return 0;
if(sscanf(inBuf+7, "Contempt=%d", &contemptFactor) == 1) return 0;