From: Fabian Fichter Date: Tue, 7 Apr 2020 16:26:55 +0000 (+0200) Subject: Prohibit cannon-cannon captures in palace X-Git-Url: http://winboard.nl/cgi-bin?a=commitdiff_plain;h=07eb09d5493cbaf9a0445a3e662740e803ec35be;p=fairystockfish.git Prohibit cannon-cannon captures in palace Closes #97. --- diff --git a/src/position.h b/src/position.h index ad3879f..e340b5d 100644 --- a/src/position.h +++ b/src/position.h @@ -865,6 +865,7 @@ inline Bitboard Position::attacks_from(Color c, PieceType pt, Square s) const { // TODO: fix for longer diagonals b |= attacks_bb(c, ALFIL, s, pieces()) & ~attacks_bb(c, ELEPHANT, s, pieces() ^ pieces(pt)) + & ~pieces(pt) & diagonal_lines(); } return b & board_bb(c, pt); @@ -892,6 +893,7 @@ inline Bitboard Position::moves_from(Color c, PieceType pt, Square s) const { // TODO: fix for longer diagonals b |= attacks_bb(c, ALFIL, s, pieces()) & ~attacks_bb(c, ELEPHANT, s, pieces() ^ pieces(pt)) + & ~pieces(pt) & diagonal_lines(); } return b & board_bb(c, pt); diff --git a/tests/perft.sh b/tests/perft.sh index 7e925ee..6e292f3 100755 --- a/tests/perft.sh +++ b/tests/perft.sh @@ -77,6 +77,7 @@ if [[ $1 == "largeboard" ]]; then expect perft.exp xiangqi "fen 1rbaka2R/5r3/6n2/2p1p1p2/4P1bP1/PpC3Bc1/1nPR2P2/2N2AN2/1c2K1p2/2BAC4 w - - 0 1" 4 4485547 > /dev/null expect perft.exp janggi startpos 4 1067293 > /dev/null expect perft.exp janggi "fen 1n1kaabn1/cr2N4/5C1c1/p1pNp3p/9/9/P1PbP1P1P/3r1p3/4A4/R1BA1KB1R b - - 0 1" 4 76824 > /dev/null + expect perft.exp janggi "fen 1Pbcka3/3nNn1c1/N2CaC3/1pB6/9/9/5P3/9/4K4/9 w - - 0 23" 4 151944 > /dev/null fi rm perft.exp