Homework 5, Jazper and Zot.
Short Description:
Implement the game of Jasper and Zot.
Goals
When you finish this homework, you should have:
- Worked with hierarchies.
- Improved your program design skills to involve hierarchies.
Formal Description
Implement the board game Jasper and Zot. This implementation must
- Include a hierarchy for tokens used on the game board.
- Use the game board, or a derived version of this from the previous assignment.
- Provide a user interface that displays the game board each time.
- Provide the ability to turn on debugging.
Hierarchy
- The hierarchy should be reasonable and well decomposed.
- Each time a new ability is added , a new level should be added to the hierarchy.
- There should be a pure abstract base class.
- There should be no "empty" functions where functionality is not used in a non-pure virtual class.
Interface
The interface should be easy to understand and display all aspects of the game. Duplicating the game board in ascii is a reasonable solution. In addition, you should print brief descriptions of what is happening at each stage. Perhaps use of the logger presented earlier in the semester.
Debugging
Your program should begin by asking the user if they want to play in debug mode. If so, your output should be verbose and explain what is happening in detail at each stage of the game. If you wish, you may implement various debugging levels, from none to extreme.
Discussion
Your program should demonstrate that you have been in this class all semester. Your main data structure type should be a class. You may use the standard library when appropriate.
Required Files
A single tar or zip file containing the source code and makefile for this program.
Submission
Submit the assignment to the D2L folder homework 5 by the due date.