Contents

Overview

In this final programming assignment, you will design and implement a board game. You have a lot of flexibility in terms of what your board game will be—something traditional like Checkers, or something more like an adventure game (think Zelda on NES). Because of that, there will be a total of four milestones, as listed below.

(Back to top)

Specifications

Your completed submission must have at least the following components (you're welcome add additional features to the game!):

(Back to top)

Milestones

Milestone 1: Design

For this first milestone, you should submit a design for your program. I'm pretty flexible on what constitutes a design: it could be a sketch done on paper, something more formal done in PowerPoint (or the like), or even just a simple text file. Regardless, it must be easy to read and follow and must include at least the following information:

Submit your sketch in PDF, txt, PNG, or JPG formats to here. You can view the 5-point basic rubric here.

(Back to top)

Milestone 2: Function design/Skeleton

For this milestone, you must determine what functions (and methods if you are using classes) you will use for your game. There is no exact limit on what you need, but keep in mind what we learned about refactoring and program design in Lab 6. You should use the same techniques used in that lab to decompose your game play into a series of functions. You must decide for each function what its purpose will be, what its name will be, what kind of data it will return, if any, and what parameters it will take.

Once you have decided on what functions and structs/classes you will use, make the code skeleton. Recall that a code skeleton is a .cpp file with all the function declarations, and stubs for the function definitions. Each function should have a JavaDoc comment above it, and pseudo code comments for what will happen inside the function. You don't need to implement any of the functions. If the function is suppose to return a particular value, return a placeholder (e.g., if it returns an int, return 0). Your skeleton must compile, but it does not need to run.

Submit your skeleton as a .cpp file here. You can view the 5-point basic rubric here.

(Back to top)

Milestone 3: 50% of implementation

The point of this milestone is to prove that you're making progress on the implementation. 50% of the functions from your skeleton must be implemented. Your code must compile. Make sure your code is clearly commented.

Submit your half-implemented .cpp file here. You can view the 5-point basic rubric here.

(Back to top)

Milestone 4: Completed program

For this milestone, finish your implementation.

Submit your .cpp file here. You can view the 10-point programming rubric here.

(Back to top)