This assignment does not count toward the final grade.
PA submission: n-in-a-Row Game Level 3
- Due No Due Date
- Points 1
- Submitting a file upload
- File Types cpp
What should you submit here?
Your source code for the n in a row game Level 3 for any of the following kinds of submissions:
- "50%" submission (at least a week before your completed submission)
- completed submission
- redo submissions
Rubric
Keep in mind that 5 students have already been assessed using this rubric. Changing it will affect their evaluations.
Criteria | Ratings | ||
---|---|---|---|
the game pits a human player (the user) against an AI (encoded in your program)
|
|
||
the player and AI have distinct markers; one is X, the other is O
|
|
||
a 2D array or 1D vector of strings is used to represent the board
|
|
||
the player is presented with a menu at the beginning of the game where they can choose a new game or to load an existing game from a file
|
|
||
if the player chooses to load from a file, the game state is loaded and the player picks up where they left off
|
|
||
the main logic of the program is coded in the body of a loop that finishes when the game is over
|
|
||
on each iteration of the loop, the player is given a turn, followed by the AI
|
|
||
at the player's turn, they are asked to enter the column where they would like to place their marker OR to save
|
|
||
if a column was entered, the program figures out which row based on where previous markers in that column rest
|
|
||
upon choosing to save, the player is asked for a filename to save the game to and the game state is saved
|
|
||
after each player's turn, the board is displayed with the player's and AI's markers in the correct spots
|
|
||
after each player's turn, a check is made to see if one of the players has won (four in a row diagonally, horizontally, or vertically) or there is a draw
|
|
||
after each player's turn, if the game is over, the status (who has won or if there is a draw) is correctly displayed to the terminal
|
|
||
on the AI's turn, the AI selects an open column to block the human player
|
|
||
player input is validated (the player is re-prompted until valid input is provided)
|
|
||
the program compiles
|
|
||
the program runs without crashing
|
|
||
the program behaves as a "normal" player would expect
|
|
||
all output displayed by the program is well formatted and spaced nicely
|
|
||
the source code uses appropriately typed and named varaibles
|
|
||
the source code includes useful comments that clarify logical chunks of the program
|
|
||
the source code uses appropriate indentation
|
|
||
the source code uses appropriately placed blank lines to separate the code into chunks that hang well together
|
|
||
the source code includes appropriate use of functions as necessary
|
|
||
the source code includes a comment at the top stating whether you worked alone or with others, and if so, who you worked with
|
|
||
the source code includes a citation for any code not from the zyBook or from class
|
|
||
|