May 4th, 2011
Assignment 5: Hangman
Assignment handout by Eric Roberts, with revisions by Mehran Sahami and Steve Cooper.
For this assignment, your mission is to write a program that plays the game of Hangman.
an assignment, Hangman serves two purposes.
First, the program is designed to give you
some practice writing programs that manipulate strings.
Second, by extending the program
using the graphical tools from Chapter 9, you will have a chance to work with multiple
classes in a single application.
(YEAH Hours: May 5
at 7:00 p.m. in 420-041.)
Due: Friday, May 13
at 5:00 p.m.
When the user 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 children play Hangman, 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.
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