Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 2 of 2
  1. #1
    New to the CF scene
    Join Date
    May 2006
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    please can anybody help me?

    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!");


    }
    }




    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

  • #2
    Senior Coder
    Join Date
    Mar 2005
    Location
    Portsmouth UK
    Posts
    4,505
    Thanks
    3
    Thanked 501 Times in 488 Posts
    First learn the difference between Java and JavaScript
    Vic

    God Loves You and will never love you less.

    http://www.vicsjavascripts.org/Home.htm

    If my post has been useful please donate to http://www.operationsmile.org.uk/


  •  

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •