Consider a class that could be used to play a game of hangman. The class has the following attributes: - the secret word - the disguised word, in which each unknown letter is replaced with a question mark (?). For example, if the secret word is abracadabra and the letters a, b, and e have been guessed, the disguised word would be ab?a?a?ab?a. - the number of guesses made - the number of incorrect guesses It will have the following methods: - makeGuess(c) guesses that character c is in the word. - getDisguisedWord returns a string containing correctly guessed letters in their correct positions and unknown letters replaced with ?. - getSecretWord returns the secret word. - getGuessCount returns the number of guesses made. - isFound returns true if the hidden word has been discovered. a. write method heading for eeach method b. write preconditions and postconditions for each method c. write some java statements that test the class d. Implement the class.
Consider a class that could be used to play a game of hangman. The class
has the following attributes:
- the secret word
- the disguised word, in which each unknown letter is replaced with a question mark (?). For example, if the secret word is
abracadabra and the letters a, b, and e have been guessed, the disguised
word would be ab?a?a?ab?a.
- the number of guesses made
- the number of incorrect guesses
It will have the following methods:
- makeGuess(c) guesses that character c is in the word.
- getDisguisedWord returns a string containing correctly guessed letters in their correct positions and unknown letters replaced with ?.
- getSecretWord returns the secret word.
- getGuessCount returns the number of guesses made.
- isFound returns true if the hidden word has been discovered.
a. write method heading for eeach method
b. write preconditions and postconditions for each method
c. write some java statements that test the class
d. Implement the class.
2. Write an application that plays the game of Fermi. Generate three distinct
random digits between 0 and 9. These digits are assigned to positions 1, 2,
and 3. The goal of the game is for the player to guess the digits in three
positions correctly in the least number of tries. For each guess, the player
provides three digits for positions 1, 2, and 3. The program replies with a
hint consisting of Fermi, Pico, or Nano. If the digit guessed for a given
position is correct, then the reply is Fermi. If the digit guessed for a given
position is in a different position, the reply is Pico. If the digit guessed for a
given position does not match any of the three digits, then the reply is Nano.
Here are sample replies for the three secret digits 6, 5, and 8 at positions 1,
2, and 3, respectively:
Guess Hint Explanation
1 2 5 Nano Nano Pico The value 5 matches but
at the wrong position.
8 5 3 Pico Fermi Nano The value 5 matches at
the correct position. The
value 8 matches but at
the wrong position.
5 8 6 Pico Pico Pico All match at the wrong
positions.
Notice that if the hints like the above are given, the player can tell which
number did not match. For example, given the hint for the second guess, we
Exercises 435can tell that 3 is not one of the secret numbers. To avoid this, provide hints in
a random order or in alphabetical order (e.g., it will be Fermi Nano Pico
instead of Pico Fermi Nano for the second reply).
Play games repeatedly until the player wants to quit. After each game,
display the number of guesses made.
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 3 images