OK, the pawn on e3 made all the difference. Clearing the cache I do all the time, to test new features.
The code was lacking a test at the second leg to see if the locust squares that were entered so far matched the move that was currently being generated, and would thus also highlight the third leg of all other possible triple captures. This should be fixed now.
Good catch, it had escaped my testing! (Another case that had escaped my initial testing, but which I discovered later myself, was Fischer castling with K@c1 and R@b1, because the code tried to calculate the destination of the Rook from the direction the King moves in. While it should have tested what side the Rook is on initially!) Yet another bug I fixed recently was in preserving left-right symmetry when shuffling; this did not work correctly on a board with an odd number of files.
OK, the pawn on e3 made all the difference. Clearing the cache I do all the time, to test new features.
The code was lacking a test at the second leg to see if the locust squares that were entered so far matched the move that was currently being generated, and would thus also highlight the third leg of all other possible triple captures. This should be fixed now.
Good catch, it had escaped my testing! (Another case that had escaped my initial testing, but which I discovered later myself, was Fischer castling with K@c1 and R@b1, because the code tried to calculate the destination of the Rook from the direction the King moves in. While it should have tested what side the Rook is on initially!) Yet another bug I fixed recently was in preserving left-right symmetry when shuffling; this did not work correctly on a board with an odd number of files.