Hey there guys I'm new to java OOP and im not very good at it at all. I have a uni assignment due in soon which i mostly completed but I'am stuck on this questions which ask us to make a guessword game. this is the problem
Problem 3 – The Guess-a-Word Game (15% implementation, 10%
design, code, layout and comments)
The guess-a-word game, as the name suggests, is a game of guessing words. You will be playing
this game with the computer in charge of the game. Suppose the word you have to guess is:
PROGRAMMING
The computer would start by displaying the word with each letter replaced by an asterisk:
***********
Number of mistakes = 0
Wrongly guessed letters = “
Letters available = “ABCDEFGHIJKLMNOPQRSTUVWXYZ
That display means that so far you have not made any mistakes and the set of wrongly guessed
letters is empty.
You are then asked to play a letter. Suppose you play letter “M. The computer would display:
******MM***
Number of mistakes = 0
Wrongly guessed letters = “
Letters available = “ABCDEFGHIJKLNOPQRSTUVWXYZ
Next suppose you play letter “E which is not one of the letters of the word. Then the computer
would display:
******MM***
Number of mistakes = 1
Wrongly guessed letters = “E
Letters available = “ABCDFGHIJKLNOPQRSTUVWXYZ
And so on until you successfully guess all the letters in the word, or until you make nine
mistakes.
You are required to do the following:
• First, design and create a class called GuessWord to represent a game. (If you freeze the
game at a point in time and observe its state, then what do you see? What would constitute
the state of the game? How would the game change its state?)
• Second, provide a text-based interface program called GuessWordTest that will allow the
user to play the game once. The text-based interface program should use the class you create
in step 1. The interface will ask for a word to guess (that is entered at the keyboard), then
the dialog between the user and the program is similar to that described above.
And here is the coding i have done so far
public class GuessWord
{
private String word;
private char letterguessed;
private int numberOfMistakes;
private char wronglyGuessLetters;
private String[] hiddenWord = new String[word.length()];
private char[] lettersAvalible = new char[26];
public GuessWord(String word, char letterguessed)
{
this.letterguessed = letterguessed;
this.word = word;
numberOfMistakes = 0;
wronglyGuessLetters = (char)0;
for( int i = 0; i < word.length(); i++)
{
hiddenWord[i] = "*";
}
for( int j = 0; j < lettersAvalible.length; j++ )
{
lettersAvalible[j] = (char)('A' + j);
}
}
public void displayWord()
{
hiddenWord = new String[word.length()];
for ( int i = 0; i < hiddenWord.length; i++)
{
if ( letterguessed != word.charAt(i) )
{
hiddenWord[i] = "*";
}
else
{
hiddenWord[i] += (char)letterguessed;
}
}
}
public void checkGuess(int count)
{
for ( int i = 0; i <= word.length(); i++)
{
if ( letterguessed != word.charAt(i) )
{
count++;
}
if ( count == word.length() )
{
numberOfMistakes++;
wronglyGuessLetters += (char)letterguessed;
}
}
if( numberOfMistakes == 9 )
{
System.out.println("\nGAME OVER");
}
}
public void lettersLeft()
{
for ( int i = 0; i < lettersAvalible.length; i++ )
{
if ( letterguessed == lettersAvalible[i] )
{
lettersAvalible[i] = (char)' ';
}
}
}
public String toString()
{
return( hiddenWord + "\nNumber of mistakes = " + numberOfMistakes + "\nWrongly guessed letters = "
+ wronglyGuessLetters + "\nLetters available = " + lettersAvalible);
}
}
Then my text based interface is
import java.util.*;
public class GuessWordTest
{
public static void main(String[] args)
{
System.out.println("Please insert a word to be guessed");
Scanner keyboard = new Scanner(System.in);
int i = 0;
String word = keyboard.nextLine();
System.out.println("please guess a letter");
char letterguessed = (char)keyboard.nextLine().charAt(0);
GuessWord test = new GuessWord(word, letterguessed);
do
{
test.displayWord();
test.checkGuess(0);
test.lettersLeft();
test.toString();
i++;
System.out.println("Guess another letter");
}while( word != "programing");
System.out.print("GAME OVER, thanks for using!");
}
}
defined class (GuessWord) compiles with no error, so i'am no sure wat is wrong PLEASE ANYBODY HELP THIS NOOB OUT, i appreciate anyone who even bothered read my problem