Holas
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
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!!
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 [Seleccionar]
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!!