From 0675b3cbe33ae86364f12dbda3b2508d204d738d Mon Sep 17 00:00:00 2001 From: H.G. Muller Date: Fri, 18 Jan 2013 15:02:55 +0100 Subject: [PATCH] Fix bug in Phoenix captures Jumping pieces would capture as Knight when the victim was also attacked b a Lion. --- hachu.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) 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 -- 1.7.0.4