Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2008, 01:07
nerublanco
 
Fecha de Ingreso: marzo-2008
Mensajes: 13
Antigüedad: 16 años, 10 meses
Puntos: 0
Ayuda con codigo

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);
}
}