bueno tengo que entregar un trabajo de un ahorcado.. el jueguito donde se adivina una palabra y cada vez que dices una letra mal el pobre hombre se: quema, mutila, aparece, desaparece = sufre.
tengo algo de codigo, funciona.. pero no termina.. y cada vez que meto una letra correcta, ya, aparece la letra en los espacios _ _ _ pero cuando meto otra correcta, se borra..
a ver si me pueden ayudar con esto tengo entendido que es bien simple, pero la verdad soy un noob en el tema xD
Código:
import java.io.*;
import java.util.*;
public class Ahorcado {
public static void main(String[] args) {
List<String> abcda = new ArrayList<String>();
int maxIntentos = 7;
final int maxLongPalabra = 25;
int malAcierto = 0;
int buenAcierto ;
String acierto;
String palabraOculta = "";
String correctaCars = "";
String aciertaX = "";
String palabraSecretaAux = "";
String listaPalabras [] = {"gatitos", "perros","benjamin"};
int palabra = 0 +(int) (Math.random() * 3);
String palabraSecreta = listaPalabras[palabra];
for(int x = 0; x < palabraSecreta.length(); x++) {
palabraSecretaAux = palabraSecretaAux + " _ ";
}
System.out.println("La palabra es:" + palabraSecretaAux);
abcda.add("a");
abcda.add("b");
abcda.add("c");
abcda.add("d");
abcda.add("e");
abcda.add("f");
abcda.add("g");
abcda.add("h");
abcda.add("i");
abcda.add("j");
abcda.add("k");
abcda.add("l");
abcda.add("m");
abcda.add("n");
abcda.add("o");
abcda.add("p");
abcda.add("q");
abcda.add("r");
abcda.add("s");
abcda.add("t");
abcda.add("u");
abcda.add("v");
abcda.add("w");
abcda.add("x");
abcda.add("y");
abcda.add("z");
while(maxIntentos > 0) {
System.out.println(palabraOculta);
System.out.println("Puedes elegir las siguientes letras\n" + abcda);
BufferedReader arf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Realiza un acierto: ");
try {
aciertaX = arf.readLine();
System.out.println(aciertaX);
}
catch(IOException ioe){
System.out.println("Error!");
System.exit(1);
}
int temp = palabraSecreta.indexOf(aciertaX) ;
System.out.println( palabraOculta );
if(temp != -1 ){
abcda.remove(aciertaX);
String newSecreta = palabraSecreta.replaceAll("[^"+aciertaX+"]"," _ ");
palabraSecretaAux = newSecreta;
System.out.println(newSecreta);
}
else {
System.out.println("La letra no esta en la palabra");
maxIntentos --;
abcda.remove(aciertaX);
}
System.out.println ("Te quedan: " + maxIntentos + " intentos" );
System.out.println(correctaCars);
}
}
}
tambien tengo que agregarle la capacidad de jugar de a 2.. que al iniciar el programa me pregunte si quiero jugar contra la computadora o de a dos. en el caso de a 1, se aplica el que esta ahi arriba (creo...) y de a dos los usuarios deben meter sus nombres y el programa debe mantener sus puntajes hasta que se reinicie.
primero.. que hago para que se queden las letras en la palabra y se reemplacen los _..
segundo.. como termino el loop?
tercero.. como comienzo el multiplayer???
saludos!!