Nim Game Programming Project:


  1. Context: Can we make the computer reason about games and play the games intelligently?


  1. The project: Make the computer reason about a nim game and play the game intelligently.

1.       Requirements: You goal is to develop a program that implements the full coach version. Carefully read the requirements and the grading rubrics described here for the full credit of 42 points.

2.       Recommended incremental approach to the test: To accomplish this task, it is strongly recommended that you incrementally develop your program to first reach the capability of the dumb version first, improve the capability to that of the smart version, and eventually the capability of the coach version. You are expected to include decent comments and indentation of your code in the program too.


  1. Submission: Fill out this self-evaluation report for the nim game project first. Upload (i) the self-evaluation report and (ii) your compressed project folder(s) through Biola Canvas according to the following rules:




Integrity rules against plagiarism for this project:


Things you can do: (i) You may discuss the rules of the nim game. You may discuss ways to determine whether there is a ‘best’ move or not and if so what the best move is. (ii) Some of the things to implement are related to the earlier regular programming assignments. You can still discuss these past programming assignments and ask the TAs questions about these assignments. (iii) You can reuse any C++ code you have written for the previous programming assignments and use C++ code covered by the reading assignments in the textbook. However, other than these two sources, you need to write your own C++ code by yourself.