I am trying to define an algorithm to calculate legal moves for any given board state of checkers. For a players turn, I need to determine which pieces can take enemy pieces. And of the pieces which can take, I need to determine which path through the board can lead to the highest number of enemy pieces taken. For a normal piece, this process is not difficult to cyclically check every single space. But for kings, the number of potential routes through the board grows exponentially.
I'm not quite sure where to begin with this problem.