Ich habe einen Algorithmus für mein Java-Hang-Man-Spiel gemacht, das die Benutzer raten zu einem Array, das die Vermutung zu einem Buchstaben im Wort entspricht. Wenn die Antwort richtig ist, fügt sie den Buchstaben zu arraylist Vermutungen an der gleichen Stelle wie es in dem Wort ist. Sobald die Methode fertig ist Aus irgendeinem Grund gibt die Antwort immer falsch zurück.Probleme mit Java Galgenmännchen Spiel
public class HangMan
{
public final int GAME=9;
public void Hangman()
{
words();
}
String nerd="";
public void words()
{
Scanner in = new Scanner(System.in);
Random randomgenerator =new Random();
int random = randomgenerator.nextInt(4);
String myArray[]={"albatross","cat","mitosis","computer","coding"};
nerd=myArray[random];
//get length of word
int length=nerd.length();
//create hangman
System.out.println(" ------");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println(" |");
System.out.println("____");
System.out.println("Guess a letter!");
//create dashes
for(int z=0;z<length;z++)
{
System.out.print("_");
}
}
public void check()
{
ArrayList<String>guesses=new ArrayList<String>();
//Inputs a scanner
Scanner in = new Scanner(System.in);
// pre condition:if player guess equals a char in nerd
String guess1=in.nextLine();
char guess=guess1.charAt(0);
for(int i=0;i<nerd.length();i++)
{
}
if(guess==nerd.charAt(z))
{
System.out.println("Correct");
System.out.println("Your word so far");
System.out.print(guesses);
guesses.set(z, guess+"");
System.out.println("You have");
System.out.print(nerd.length()-z);
System.out.print("guesses left");
}
//pre condition: if the guess is wrong
else
{
System.out.println("Wrong");
System.out.println("Your word so far");
System.out.print(guesses);
System.out.println("You have");
System.out.print(nerd.length()-z);
System.out.print("guesses left");
}
}
Wenn der .contains() verwendet, wie würde ich den Eingang zu einer bestimmten Position in meinen Vermutungen Array hinzufügen. Im Moment habe ich diesen Code, aber wenn ich meine for-Schleife entferne, kann ich den Tipp nicht auf eine bestimmte Position setzen. rate.set (i, rate + ""); –
Die Verwendung enthält oder nicht wird Ihr Problem nicht lösen, möglicherweise nur Ihren Code verbessern. Du hast recht, dass du den Index irgendwann auch brauchen wirst. Was ist mit meinem Hauptkommentar über die Iteration? –