Hangman Milestone 1 Grading criteria 1. 5% bonus for being done on original due date. 2. (adapted from the "Checkpoint" at the bottom of the body parts page) At this point the students should be able to demonstrate: -- A working IWord and IBody systems: -- Full working composite, state and visitor pattern system. -- Full accessor method functionality -- Proper factory functionality, although implementation of all the body parts is not necessary, only the NoosePart and a couple of others are needed. -- A working Hangman game class (which naturally incorporates the two above criteria) whose methods have the following capabilities: -- makeAnswer() need only return a fixed answer, not a random answer. -- reset() should -- reinstantiate the word and body lists -- return the current String representation of _word. -- getWord() and getBody() should both work. -- paint() will -- print indications of the currently visible body parts, which corresponds to the number of incorrect guesses. -- indicate on the console if the game has been lost, via the ILoseGameAdapter (via the ILoseAdapter). -- guess(c) will check if c exists in _word, toggling corresponding state to visible everywhere c is located. -- show a dash (or some specifically identified symbol) when corresponding IWord is invisible. -- Checks if the game has been won and indicates it on the console via the IGameWonAdapter. -- make another body part visible if the guess is incorrect. (Note it should not actually "paint" the body). -- Return the new (current) String representation of _word. Grading breakdown: Documentationcompleteness, clarity and correctness: 20% Design completeness and correctness: 40% total 20% word list 15% body list 5% HangmanGame Operational completeness and correctness: 40% total 15% word list 10% body list 5% HangmanGame 10% test code