Hola,
Estoy haciendo un programa donde en un array debo esconder una frase y darle opcion al jugador de adivinarla sea entrando letras o palabras (algo asi como ahorcado - hangman). Cada vez que el jugador entra una letra, esta se debe colocar en el sitio(s) correcto(s) o decirle al jugador que la letra o palabra no esta en la frase.
Tengo varios problemas con el codigo. Cuando lo ejecuto me aparece la pantalla pidiendo la entrada de datos pero para que aparezca la letra a veces tengo que teclear dos veces y otras no aparece. No se que estoy haciendo mal. por favor me ayudan con esto. Gracias
Código:
import javax.swing.JOptionPane;
import java.util.Arrays;
public class Hangmantry
{
public static void main(String [ ] args)
{
String phrase = "Life is a field of unlimited possibilities", wordtoguess="------------------------------------------", phrasetoguess, guess="";
int x=0, y=0, c=0;
char[ ] dashes = wordtoguess.toCharArray();
char[ ] compare = phrase.toCharArray();
do{
phrasetoguess=JOptionPane.showInputDialog("word or letter?");
if (phrasetoguess.equalsIgnoreCase("phrase"))
{guess=JOptionPane.showInputDialog("Guess the phrase");
if (guess.equalsIgnoreCase(phrase))
System.out.println("Life is a field of unlimited possibilities\nYou got it!");}
else {
c=0;
x=0;
y++;
String player=JOptionPane.showInputDialog("Enter a letter or phrase");
do{
if (player.charAt(0)==phrase.charAt(x))
{
dashes[x]=player.charAt(0);
c++;
}
x++;
}while((player.charAt(0)!=phrase.charAt(x-1))&&(x!=42));
for (int z=0; z<42; z++)
{System.out.print(dashes[z]);}
System.out.println();
}
}while((y<10)&&(!Arrays.equals(dashes, compare))&&(!guess.equalsIgnoreCase(phrase)));
System.exit(0);
}
}