After maybe moving up a Pawn on each side, you move a random non-Pawn piece on each side without capturing anything, ensuring as few positional repeats as possible to avoid 3-fold repetition.
I found the problem. You have the wrong number of plies in your check for the 64-move rule, as shown below:
After maybe moving up a Pawn on each side, you move a random non-Pawn piece on each side without capturing anything, ensuring as few positional repeats as possible to avoid 3-fold repetition.
I found the problem. You have the wrong number of plies in your check for the 64-move rule, as shown below:
if(this.noCaptCount>=124) { // this draws after 62 moves (62 * 2 = (50 + 12) * 2 = (50 * 2) + (12 * 2) = 100 + 24 = 124)
this.mFinished=true;
this.mWinner=JocGame.DRAW;
}
The number 124 should be 128 (64 * 2 = (50 + 14) * 2 = (50 * 2) + (14 * 2) = 100 + 28 = 128). Like so:
if(this.noCaptCount>=128) {
this.mFinished=true;
this.mWinner=JocGame.DRAW;
}