# CMT 3325 Course Work 2

## Due Date: End Week 14 (January 30th, 2015)

The coursework is to create a Mancala game in XNA 4.0. There are some additional questions about whether a good algorithm always wins. You are welcome to use modifications made to the tutorial during the labs. This coursework is worth 25% of your module mark.

There are many variants of Mancala, see the Mancala wiki . The variant for this course work is a 2 person game. Each has 6 pits on each initially have three seeds. There is also a bin on the end. (14 pits in all). The players alternate turns. In a turn (moving clockwise), the player can pick up all the seeds in any of his pits, and drop one in the next pit proceeding clockwise, including the bin and the opponents pits (and bin). If the last seed is placed in the player's bin, he goes again. If it goes in any other bin, the next player has his turn. The player who wins is the first with no seeds in any of his pits.

The game should be playable by two, one or zero humans. That is there should be an option to play against a computer algorithm, or for two algorithms to play each other.

The marking scheme is somewhat flexible, so the determined student might want to provide additional variants of the game. Please describe these if they are provided.

Finally, there is a theoretical principle that the tutor can not currently answer. Is it possible to win every game if a user goes first or second. The student should attempt to answer this question in the form of a proof involving state spaces. The quality of this answer is the 20 points for analysis of play.

All code should be written by the user. If a small number of lines are copied from another source (say for drawing a line), the line should be commented. Students are not allowed to work together on this course work.

The assignment should include a one page self marking sheet, using the below scheme. Please explain all features, and reference code.

Marking scheme:
PointsArea
20Compiles
10Self marking sheet and description.
10Two human player game.
15Computer agent plays a good game.
10Good game look and feel.
15Computer agent plays an excellent game.
20Analysis of play.

Please submit the code, the mark sheet, and analysis to unihelp in the Sheppard Library; get a receipt. You are also welcome to email a copy to the tutor.