This line makes a lot of difference..
Code: Select all
if(score>=8000-MAXD_) break; // Found mate, stop ID
[d]1K6/8/k7/8/8/8/1R6/8 w 1-0
Depth=1 BM=Rb7 score=521 eval-count=16 PV=Rb7[1]
Depth=2 BM=Rb7 score=525 eval-count=16 PV=Rb7 --> Ka5[2]
Depth=3 BM=Rb7 score=527 eval-count=318 PV=Rb7 --> Ka5 --> Rc7[3]
Depth=4 BM=Rd2 score=526 eval-count=201 PV=Rd2 --> Ka5 --> Rd6 --> Ka4[4]
Depth=5 BM=Ra2 score=528 eval-count=2138 PV=Ra2 --> Kb5 --> Ra7 --> Kb6 --> Re7[5]
Depth=6 BM=Re2 score=526 eval-count=1353 PV=Re2 --> Ka5 --> Re4 --> Kb6 --> Re6[5]
Depth=7 BM=Ra2 score=528 eval-count=8412 PV=Ra2 --> Kb5 --> Ra1 --> Kb4 --> Ra7[5]
Depth=8 BM=Re2 score=527 eval-count=4789 PV=Re2 --> Ka5 --> Re4 --> Kb5 --> Rf4 --> Ka6[6]
Depth=9 BM=Rf2 score=528 eval-count=28926 PV=Rf2 --> Ka5 --> Rf4 --> Kb6 --> Rf5[5]
Depth=10 BM=Rf2 score=528 eval-count=5959 PV=Rf2 --> Ka5 --> Rf4 --> Kb6 --> Rf5 --> Kc6 --> Kc8 --> Kb6 --> Kb8[9]
Depth=11 BM=Rf2 score=529 eval-count=53842 PV=Rf2 --> Ka5 --> Rf4 --> Kb6 --> Rf5 --> Kc6 --> Kc8 --> Kb6[8]
Depth=12 BM=Rd2 score=529 eval-count=16099 PV=Rd2 --> Kb6 --> Rd1 --> Kc6 --> Rd4 --> Kb6 --> Re4[7]
Depth=13 BM=Rd2 score=529 eval-count=130353 PV=Rd2 --> Kb6 --> Rd1 --> Kc6 --> Rd4 --> Kb6 --> Rc4 --> Kb5 --> Rd4 --> Kc6 --> Rd8 --> Kb6 --> Rd1[13]
Depth=14 BM=Kc7 score=530 eval-count=24709 PV=Kc7 --> Ka5 --> Kc6 --> Ka4 --> Kc5 --> Ka3 --> Rf2 --> Kb3[8]
Depth=15 BM=Kc7 score=7975 eval-count=65055 PV=Kc7 --> Ka5 --> Kc6 --> Ka4 --> Kc5 --> Ka3 --> Rf2 --> Kb3 --> Kd4 --> Kb4 --> Rb2 --> Ka3 --> Kc3 --> Ka4 --> Kc4[15]
Depth=16 BM=Rb7 score=7985 eval-count=13155 PV=Rb7 --> Ka5 --> Ka7 --> Ka4 --> Ka6 --> Ka3 --> Ka5 --> Ka2 --> Ka4 --> Ka1 --> Kb3 --> Kb1 --> Rc7 --> Ka1 --> Rc1[15]
The Depth 16 Rb7, score=7985 is exactly as expected.
But I don't understand the Depth 15, score=7975(thats like mate in 25)
I probably have more bugs, but I can stop banging my head on the wall for a while, since I've fixed that stopping ID too quick bug.
Thanks

