This assignment does not count toward the final grade.

Rubric

Find Rubric
Keep in mind that 1 student has already been assessed using this rubric. Changing it will affect their evaluation.
Grid-based Game Level 3
Grid-based Game Level 3
Criteria Ratings
the program compiles
Passing
Not passing
the program runs without crashing
Passing
Not passing
the program behaves as a "normal" player would expect
Passing
Not passing
all output displayed by the program is well formatted and spaced nicely
Passing
Not passing
the source code uses appropriately typed and named varaibles
Passing
Not passing
the source code includes useful comments that clarify logical chunks of the program
Passing
Not passing
the source code uses appropriate indentation
Passing
Not passing
the source code uses appropriately placed blank lines to separate the code into chunks that hang well together
Passing
Not passing
the source code includes appropriate use of functions as necessary
Passing
Not passing
the source code includes appropriate use of structs as necessary
Passing
Not passing
the source code includes a comment at the top stating whether you worked alone or with others, and if so, who you worked with
Passing
Not passing
the source code includes a citation for any code not from the zyBook or from class
Passing
Not passing
the gridworld is represented as a 2D character array or 1D string vector
Passing
Not passing
characters (chars) are used to indicate the player's position, open spaces, obstacles, walls, rewards, enemies, etc.
Passing
Not passing
a key is provided to the player describing what each of the characters means
Passing
Not passing
the gridworld is displayed between interactions with the player
Passing
Not passing
the player is be prompted to make a move with a list of valid options based on where they are positioned in the gridworld
Passing
Not passing
player input is validated (the player is re-prompted until they enter a valid move)
Passing
Not passing
some kind of score is kept and reported along the way (e.g., the number of moves made, enemies defeated, rewards captured, etc.)
Passing
Not passing
the game ends somehow, e.g., an exit is reached, all the rewards are collected, the player is defeated by enemies, health is 0, etc.
Passing
Not passing
there are at least two "maps" -- when the player makes it through the first map, they next map is loaded
Passing
Not passing
the boards for each map are loaded from a file rather than hard coded directly in the program
Passing
Not passing
there are at least two difficulty levels; the different levels are achieved by one of the following: (1) each level causes a different version of the map to load from a file (so each map have two or more versions stored, on per difficulty level) OR (2) the things that make a map difficult are handled automatically (e.g., in the more difficult version, enemies move towards the player at each step, or enemies are randomly placed on the board and more are placed for higher difficulty levels)
Passing
Not passing