Galgje probleem!

Status
Niet open voor verdere reacties.

Spire

Nieuwe gebruiker
Lid geworden
24 okt 2008
Berichten
1
Hallo mensen,
Ik heb een serieuze vraag. Ik heb een galgje gemaakt, zie hieronder:
Code:
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Hangman
{

public static void main(String args[]) 
{
Hangman epco = new Hangman();
epco.startSpel(args[0]);
}

private int aantalBeurten = 7;
private int aantalFouten = 0;
private StringBuffer teRadenWoord;
private StringBuffer raadWoord;
private boolean nogNietGewonnen = true;
private int aantalGoed = 0; 

private char readChar(){ 

char c = ' '; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
try 
{ 
String s = reader.readLine(); 
c = s.charAt(0); 
} 
catch (Exception e) {} 
return c; 

} 

public boolean checkWoord(StringBuffer attempt, StringBuffer endResult)
{
boolean notFound = false;
for (int i = 0; i < endResult.length(); i++)
{
if (attempt.charAt(i) != endResult.charAt(i))
{
notFound = true;
}
}
return notFound;
}

public void maakHetRaadWoord(){

raadWoord = new StringBuffer("");
for (int i = 0; i < teRadenWoord.length(); i++)
{
raadWoord.append(".");
}
}
public void startSpel(String woord) 
{
teRadenWoord = new StringBuffer(woord); 
System.out.println("Help mij! je hebt 8 kansen om te zorgen dat ik niet word opgehangen!");
maakHetRaadWoord();

while (nogNietGewonnen == true && aantalBeurten >= aantalFouten)
{
aantalGoed = 0;
System.out.println("Vul een letter in, zorg dat het een goede is! ");
System.out.println("het woord tot nu toe --> " + raadWoord.toString());
char letter = Character.toLowerCase(readChar());
if (Character.isLetter(letter)) 
{

System.out.println("Ingevulde letter: " + letter);
for (int i = 0; i < teRadenWoord.length(); i++)
{
if(teRadenWoord.charAt(i) == letter)
{
raadWoord.setCharAt(i, letter);
aantalGoed++;
}

}
nogNietGewonnen = checkWoord(raadWoord, teRadenWoord);

if (aantalGoed == 0)
{
aantalFouten++;
System.out.println("Dit is onjuist, ik hang bijna!");
System.out.println("beurt" +aantalFouten);
}
}
else
{
System.out.println("Dit is geen Letter. Vul een letters in om het woord te raden!");
} 
}

if (nogNietGewonnen == false)
{
System.out.println("Je hebt me gered, ik sta bij je in het krijt!");
System.out.println("Het woord is " + teRadenWoord + ".");
} 
if (aantalFouten == 8)
{
System.out.println("Je hebt me laten ophangen, ik rekende op je");
System.out.println("Het juiste woord was " + teRadenWoord + ".");
}
}
Het is bijna klaar, alleen ik heb nog twee dingen te doen, en ik heb nog geen idee hoe.
Eerst moet ik een code toevoegen die kijkt of ik twee keer dezelfde letter heb gebruikt, zelfs als het een hoofdletter. En als dat het geval is, moet het programma zeggen dat de gebruiker die letter al een keer gebruikt heeft.

Ten tweede, moet ik het "char letter = Character.toLowerCase(readChar());" gedeelte deleten, en moet ik er een stringbuffer van maken en equalsIgnoreCase gebruiken.

Ieder commentaar en hulp is welkom.
Gegroet.
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan