CS347 SP2005 Chess: Phase I - Random Search

Revision 1/12/2005. Note: it is the students' responsibility to check the CS347 website for possible new revisions!

Assignment

Chess is a two-person zero-sum game well-known to most of you (if not, search the web and you will find more than you ever wanted to know about chess! For all kinds of information on programming chess, see the GTA's collection of links at http://web.umr.edu/~cs347a/sp2005/chess/.

For the chess assignments we'll be using the XBoard/WinBoard for the GUI and a simplified version of Cassandre as a base for our programs. You can download the simplified version of Cassandre for either Windows (WinCassandre.zip) or Unix (UnixCassandre.tar.gz). Cassandre utilizes a Engine class to encapsulate the chess engine. The play() function in Engine.cpp is where plays are actually made. Cassandre also implements the popular "bitboard" representation for the chess board. Be sure to take a look through the bitboard references at the bottom of the chess page (http://web.umr.edu/~cs347a/sp2005/chess/).

In this first phase all you have to do is fill in the play function in the provided framework to attempt to solve the puzzle using Random Search, one move at a time.

Note: this is an individual project; plagiarism of any type will result in a zero grade.

You need to submit any changes that you make for files that you add. If you submit more than one file, please zip them into a single file. For this particular assignment, you may just change the Engine.cpp file, however you're free to change other files as well. Be sure to document any changes that you make and list which extra credit problems you've completed (if any).

Grading

The maximum number of points you can get is 30 (and 30 bonus), the minimal is 0. The following are the maximum number of points per component:

Multiple Submissions and Late Submissions

While it is hoped that all code will be submitted error-free and on time, this may not always be the case, so the following rules apply if code is not submitted error-free or on time: