Fix attackers calculation for xiangqi generals
authorFabian Fichter <ianfab@users.noreply.github.com>
Sun, 10 Nov 2019 16:07:43 +0000 (17:07 +0100)
committerFabian Fichter <ianfab@users.noreply.github.com>
Sun, 10 Nov 2019 16:07:43 +0000 (17:07 +0100)
xiangqi
LLR: 1.77 (-2.94,2.94) [0.00,10.00]
Total: 1000 W: 330 L: 274 D: 396

src/position.cpp

index 7e86ba8..5dd265d 100644 (file)
@@ -774,6 +774,9 @@ Bitboard Position::attackers_to(Square s, Bitboard occupied, Color c) const {
           b |= pieces(c, FERS) & gates(c) & fers_sq;
   }
 
+  if (var->xiangqiGeneral)
+      b ^= b & pieces(KING) & ~PseudoAttacks[~c][WAZIR][s];
+
   return b;
 }