This can be related to three things:
- The move checking isn't 100% bulletproof. For example, if you don't check both the start and end squares, then you might have a piece jump around the board.
- The continue jumping method I think is wrong and needs to be fixed.
- The alpha beta algorithm might be missing something. For example, the value of the board might depend on which player is evaluating the board.
This can be related to three things: