From: H.G. Muller Date: Fri, 18 Jan 2013 14:02:55 +0000 (+0100) Subject: Fix bug in Phoenix captures X-Git-Tag: 0.18~81 X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=0675b3cbe33ae86364f12dbda3b2508d204d738d;p=hachu.git Fix bug in Phoenix captures Jumping pieces would capture as Knight when the victim was also attacked b a Lion. --- diff --git a/hachu.c b/hachu.c index 68c0a6c..dcf4842 100644 --- a/hachu.c +++ b/hachu.c @@ -1460,7 +1460,7 @@ GenCapts(int sqr, int victimValue) for(i=0; i<8; i++) { // scan all knight jumps to locate source int x = sqr - nStep[i], attacker = board[x]; if(attacker == EMPTY || (attacker & TYPE) != stm) continue; - if(p[attacker].range[i] <= N && p[attacker].range[i] >= S) { // has Knight jump in our direction + if(p[attacker].range[i] <= N && p[attacker].range[i] >= S && p[attacker].range[i] != J) { // has Knight jump in our direction NewCapture(x, sqr + victimValue, p[attacker].promoFlag); // plain jump (as in N) if(p[attacker].range[i] < N) { // Lion power; generate double captures over two possible intermediates int v = kStep[i]; // leftish path