_____ 2 pts: Game has a robust, understandable text-based interface that allows the player to control their movement through the game. Player should be able to enter any command at any time, and if it makes sense in the current context it will be carried out.
_____ 2 pts: Submission includes a cheat sheet (cheatsheet.md
) documenting all of the available commands, as well as a description of the layout of your game world's underlying physical layout; this can be described in words, or included as a separate image file if you prefer to sketch a map by hand. If your game includes challenges that must be overcome to win, also describe them here.
_____ 2 pts: Storyline driving the game is engaging, and individual elements of play make sense within the context of the story.
_____ 2 pts: Game has multiple possible paths / outcomes (i.e. gameplay depends on player's choices and is not the same every time).
_____ 1 pt: Gameplay supports reversible moves where reasonable (e.g., if you pick up an object, you should be able to put it back down again later, possibly in a different place; if you go north then you should be able to return to the previous location by going south unless something has blocked your return path).
_____ 1 pt: Some paths through the game have restricted access until the player has completed a task or acquired a specific item (i.e. a key to open a door, etc.).
_____ 2 pts: Selected classes(s) are effective, efficient at supporting the desired operations and program behavior.
_____ 2 pts: Design justification includes a discussion of at least one (reasonable) alternative design that could have been used, and the reasons why you decided against this alternative.
_____ 2 pts: The project makes effective use of Java built-in classes whenever they are appropriate.
_____ 2 pts: The project's design is extensible (i.e. someone else could pick up where you left off, adding on or modifying the game without requiring a total rewrite).
_____ 2 pts: Submission includes an architecture diagram describing the relationships between all classes.
_____ 4 pts: Program compiles without errors or warnings.
_____ 2 pts: Executes fully & consistently without crashing (exception/freeze).
_____ 2 pt: Complies with style guidelines (missing items 1 pt each):
_____ Classes & class members all have Javadoc header comments.
_____ Clear and consistent indentation of bracketed sections.
_____ Adheres to Java conventions on naming & capitalization.
_____ Methods & variables all have clear and accurate names.
_____ Methods avoid confusing side effects.
_____ 1 pt: All required files included with submission (including completed checklist file).
_____ 1 pt: readme.md
contains your reflection on the project and responses to all prompts .