Wrox Programmer Forums
Go Back   Wrox Programmer Forums > Java > Java and JDK > J2EE
|
J2EE General J2EE (Java 2 Enterprise Edition) discussions. Questions not specific to EE will be redirected elsewhere.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the J2EE section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old May 27th, 2006, 04:46 AM
Registered User
 
Join Date: May 2006
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default please help it would be appreciated

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







Similar Threads
Thread Thread Starter Forum Replies Last Post
Cannot get it started - help appreciated tm BOOK: ASP.NET Website Programming Problem-Design-Solution 3 April 26th, 2006 01:40 PM
Subquery. Any help would be appreciated. rriis SQL Language 3 October 3rd, 2005 12:04 PM
MSXML2.ServerXMLHTTP help appreciated!! Steven1984 Classic ASP Professional 0 June 4th, 2005 12:49 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.