Código: Seleccionar todo
- La palabra es "amigo".
- Introduzco "aamig".
- El programa debería marcarme "a_???" pero en vez de eso me indica "a????".
Código: Seleccionar todo
public static void main(String[] args) {
//ARRAY DE PALABRAS QUE SE USARÁN PARA EL JUEGO
String[]palabras = {"enero", "amigo", "unico", "turco", "coxis", "nubes", "besar", "pisar",
"madre", "padre", "marzo", "abril", "barco", "piano", "carta", "barca", "tarea",
"movil", "cruce", "cinco", "siete", "nueve", "junio", "julio", "lunes", "nuevo",
"pesar", "atril", "friki", "circo", "cirio", "dalia", "motor", "araña"};
int posicion = (int) (Math.random()*palabras.length);
String palabra_a_adivinar = palabras[posicion];
Scanner entrada = new Scanner (System.in);
String palabra = "";
int intentos = 0;
System.out.println("Intenta adivinar la palabra de cinco letras. Tienes cinco intentos");
//EL JUEGO SE EJECUTA MIENTRAS EL JUGADOR NO LLEGUE A LOS CINCO INTENTOS
while (intentos != 5) {
palabra = entrada.nextLine();
palabra = palabra.toLowerCase();
if (palabra.length() != 5) {
System.out.println();
System.out.println("Error, has de introducir una palabra con cinco letras");
System.exit(0);
}
//SE RECORRE LA PALABRA ELEGIDA ALEATORIAMENTE DEL ARRAY PARA COMPARARLA CON LA INTRODUCIDA POR EL JUGADOR
for (int i = 0; i < palabra_a_adivinar.length(); i++) {
if ((palabra_a_adivinar.charAt(i)) == (palabra.charAt(i))) {
System.out.print(palabra_a_adivinar.charAt(i));
}
else if ((palabra.charAt(i)) == (palabra_a_adivinar.charAt(0)) || (palabra.charAt(i)) == (palabra_a_adivinar.charAt(1)) ||
(palabra.charAt(i)) == (palabra_a_adivinar.charAt(2)) || (palabra.charAt(i)) == (palabra_a_adivinar.charAt(3)) ||
(palabra.charAt(i)) == (palabra_a_adivinar.charAt(4))) {
System.out.print('?');
}
else {
System.out.print(' ');
}
}
intentos++;
//FIN DEL JUEGO, EL JUGADOR GANA
if (palabra.equals(palabra_a_adivinar)) {
System.out.println();
System.out.println("¡Has acertado, bien hecho!");
System.out.println();
System.out.println("Has necesitado " +intentos+ " intentos");
System.exit(0);
}
//FIN DEL JUEGO, EL JUGADOR PIERDE (A MENOS QUE ACIERTE EN SU ÚLTIMO INTENTO, ENTONCES GANA)
if (intentos == 5) {
System.out.println();
System.out.println("Has perdido, la palabra era " +palabra_a_adivinar);
System.exit(0);
}
//EL JUGADOR SE HA EQUIVOCADO, SE SUMA OTRO INTENTO Y SE SIGUE LA PARTIDA
if (palabra_a_adivinar != palabra) {
System.out.println();
System.out.println("Has introducido una palabra errónea, inténtalo de nuevo");
}
}