I am trying to make a foxgame (2 foxes, 20 sheep on a cross-like board). I have the current game position in a two-dimensional array board[7][7] and I can draw the board and move the sheep around given user input. I also have the functions for checking win and legal states in place. Now I have to make the foxes seem somewhat intelligent and I am trying to implement the minimax algorithm with alpha-beta cutoffs.

My question here is how do I generate the successors from the current game state when I have two foxes without using 1 000 000 case/if statements? Also, if anyone has done this before, could you give me a tip on how to make a good evaluation function for this particular game?

All help much appreciated!!