...

# please can anybody help me?

ELHEK
05-27-2006, 09:37 AM
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%
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();
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!");

}
}

My 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

vwphillips
05-27-2006, 05:02 PM
First learn the difference between Java and JavaScript