Programming Assignment 3
Contents
Overview
In this PA, you will create a program to simulate a game. You can choose what game you want to simulate—card games like poker, black jack, rummy, hearts, forty-fives, crazy eights, etc.; board games like Life, Monopoly, etc.; dice game like craps or roulette; whatever! You will start this from scratch. The only constraints are that it meet the specifications below.
(Back to top)Specifications
Your completed submission must meet the following requirements:
- the game holds together and is fun to play
- it's sufficiently substantial
- it compiles and runs
- uses one or more well designed/used structs
- uses one or more well designed/used classes
- uses as many functions as needed (must be well designed)
- has one or more uses of pass-by-reference
- has one or more uses of pass-by-value
- has persistent storage of user statistics (i.e., use a file to store stats between plays)
Milestones
Milestone 1: Planning
For this milestone, you will determine what game you'd like to implement and what it will look like from a player's perspective. On a sheet of paper or in a program like PowerPoint, include the following information:
- the game you've decided to implement
- the rules of the game
- how the console interface will look during game play; include example user input and display how the program responds
- what player stats will be stored and how they will be stored as files
I encourage you to come and see me if you would like to know if you are on the right track and to affirm that what you're proposing seems sufficiently substantial.
Upload a picture/Doc/PowerPoint of your planning sketch to here. You can view the rubric here.
Milestone 2: Skeleton and Pseudo code
For this milestone, create a skeleton of your program. Before beginning your skeleton, think about the high level things your program will need to do to carry out the vision you outlined in the first milestone and what information and functionality should be carried out by structs or classes. Add the following to a .cpp file:
- the definitions of the struct(s) and class(es) to hold data (you do not need to implement any class methods, but you should have declarations within the class)
- a set of well designed function declarations including return types and parameters
- for each function declaration, create a corresponding stub with a JavaDoc and detailed pseudo code inside describing what needs to be done
- a main function with pseudo code indicating what it will invoke
Your program must compile and run.
Submit your .cpp file here. You can view the rubric here.
(Back to top)Milestone 3: 50% implemented
For this milestone, implement 50% of your functions and methods. Your program must compile and run.
Submit your .cpp file here. You can view the rubric here.
(Back to top)Milestone 4: Completed Project
Finish implementing your project and submit it. Your program must compile and run.
Submit your .cpp file here. You can view the rubric here.
(Back to top)