October 24, 2007
Due: 3:15pm on Monday, November 5th
Based on a handout by Eric Roberts
For this assignment, your mission is to write a program that plays the game of Hangman.
As an assignment, Hangman serves two purposes.
First, the program is designed to give
you some practice writing programs that manipulate strings and files.
extending the program using the graphical tools from Chapter 9, you will have a chance
to work with multiple classes in a single application.
When it plays Hangman, the computer first selects a secret word at random from a list
built into the program.
The program then prints out a row of dashes
one for each letter
in the secret word and asks the user to guess a letter.
If the user guesses a letter that is in
the word, the word is redisplayed with all instances of that letter shown in the correct
positions, along with any letters correctly guessed on previous turns.
If the letter does not
appear in the word, the user is charged with an incorrect guess.
The user keeps guessing
letters until either (1) the user has correctly guessed all the letters in the word or (2) the
user has made eight incorrect guesses.
Two sample runs that illustrate the play of the
game are shown in Figure 1 on the next page.
When it is played by children, the real fascination (a somewhat morbid fascination, I
suppose) from Hangman comes from the fact that incorrect guesses are recorded by
drawing an evolving picture of the user being hanged at a scaffold.
For each incorrect
guess, a new part of a stick-figure body
first the head, then the body, then each arm,
each leg, and finally each foot
is added to the scaffold until the hanging is complete.
For example, the three diagrams below show the drawing after the first incorrect guess
(just the head), the third (the head, body, and left arm), and the diagram at the tragic end
of a losing game: