Homework 7

Due Thurs, Dec 9, 18:00


Exercise: (10 points)

Hangman is a guessing game for two players. One player thinks of a word and the other tries to guess it by suggesting letters.

The word to guess is represented by a row of dashes, giving the number of letters. If the guessing player suggests a letter which occurs in the word, the other player writes it in all its correct positions. If the suggested letter does not occur in the word, the other player draws one element of the hangman diagram as a tally mark. The game is over when either the guessing player completes the word or the diagram is completed.

This diagram is, in fact, designed to look like a hanging man. Although debates have arisen about the questionable taste of this picture, it is still in use today.




Design and implement the class Hangman.java:
Write a program HangmanDemo that plays a few games.

Sample games:

We are playing hangman. After 10 wrong guesses, you lose.
Phrase: ____   [wrong guesses: ]
Guess a letter: a
Phrase: _a_a   [wrong guesses: ]
Guess a letter: m
Phrase: _a_a   [wrong guesses: m]
Guess a letter: p
Phrase: _a_a   [wrong guesses: mp]
Guess a letter: j
Phrase: ja_a   [wrong guesses: mp]
Guess a letter: v
Congratulations, you found the phrase: java
We are playing hangman. After 7 wrong guesses, you lose.
Phrase: _______   [wrong guesses: ]
Guess a letter: e
Phrase: _e_____   [wrong guesses: ]
Guess a letter: o
Phrase: _e_____   [wrong guesses: o]
Guess a letter: r
Phrase: _e_____   [wrong guesses: or]
Guess a letter: s
Phrase: _e_____   [wrong guesses: ors]
Guess a letter: t
Phrase: _e____t   [wrong guesses: ors]
Guess a letter: m
Phrase: _e____t   [wrong guesses: orsm]
Guess a letter: a
Phrase: _e_a__t   [wrong guesses: orsm]
Guess a letter: g
Phrase: _e_a__t   [wrong guesses: orsmg]
Guess a letter: i
Phrase: _e_a__t   [wrong guesses: orsmgi]
Guess a letter: p
You ran out of guesses. The phrase is: default



Submit the following files to Anne (javaiscl (at googlemail.com)):
Hangman.java
HangmanDemo.java