From 8b9b119cd471219b66a0e943381a9621dd04a256 Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Fri, 18 Jan 2013 17:18:40 +0100 Subject: [PATCH] Give reason when Lion captures are rejected as illegal --- hachu.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/hachu.c b/hachu.c index 6de0d39..7fd6fb8 100644 --- a/hachu.c +++ b/hachu.c @@ -1665,7 +1665,11 @@ MapFromScratch(attacks); // for as long as incremental update does not work. if(promoSuppress & PROMOTE) score = -INF; // non-Lion captures Lion after opponent did same defer |= PROMOTE; // if we started, flag he cannot do it in reply } - if(score == -INF) { moveStack[curMove] = 0; goto abortMove; } // zap illegal moves + if(score == -INF) { + if(level == 1) repeatMove[repCnt++] = move & 0xFFFFFF | (p[tb.piece].value == 10*LVAL ? 3<<24 : 1 << 24); + moveStack[curMove] = 0; // zap illegal moves + goto abortMove; + } } #if 1 score = -Search(-beta, -iterAlpha, -difEval - tb.booty, replyDep, promoSuppress & ~PROMOTE, defer); @@ -1954,7 +1958,8 @@ printf("# deferral of %d\n", deferred); for(i=retFirst; i