The goal of this third assignment in the sequence of five is to add an AI opponent to your chess game. "Shallow Blue" is a pun on Deep Blue, the IBM computer chess system which beat the reigning world champion in 1997.
NB: The next assignment will involve moving the AI portion of your system to a server. So think ahead about this modularity when you design your code!
Note: If your Assignment #2 was substantially incomplete and you feel you cannot catch up, contact the instructor as soon as possible regarding the possibility of obtaining another student's version of Assignment #2 as a starting point for this assignment.
Hint: For information about static evaluation functions in chess see articles at gamedev.net and GNU.
Hint: To avoid the AI playing exactly the same game over and over (b-o-o-oring!), consider introducing the Collections.shuffle() method at appropriate points, e.g., before searching the next moves at a given level, so that a different tied evaluation is chosen. This will also be useful when you have different AI's play against each other. Make sure you use a random seed, so that play is reproducible for debugging purposes.
Extra Credit: