juego del ahocado
TENGO QUE EXPONER EN CLASE ESTE JUEGO Y NO ENTIENDO COMO EXPLICARSELO A LA CLASE DICIENDOLES QUE SE HACE EN CADA METODO Y ALGO SOBRE LA CLASE STRING Y LA CLASE SRINGBUFFERING NI IDEA DE PARA QUE SE UTILIZAN
ESQUE EL CODIGO LO CONSEGUI PORQUE NO ME SALIA
ESPERO ME PUEDAN AYUDAR
public class Juego{
public static void main(String args[])throws Exception{
Ahorcado Jugada=new Ahorcado();
do{
System.out.print("Cáracter a jugar: \t");
System.out.println(Jugada.play((char)System.in.read()));
System.in.skip(2l);
}
while(Jugada.seguirJuego());
}
}
class Ahorcado{
//Palabras que utiliza el juego.
private final String palabras[]={"Coincidencia","Arrepentirse",
"Hipertension","Monarquia","Plataforma",
"Resplandeciente"
};
//Palabra con la que se esta jugando.
private String palabraJuego=new String();
//carácter encontrado.
private boolean letrasEncontradas[];
//Guarda errores...
private int Errores=0;
public Ahorcado(){
palabraJuego=palabras[(int)Math.round(Math.random()*(palabras.length-1))].toLowerCase();
letrasEncontradas=new boolean[palabraJuego.length()];
}
public String play(char respuesta)throws
java.io.IOException{
respuesta=new String(new Character(respuesta).toString()).toLowerCase().charAt(0);
if(!seguirJuego()){
System.err.println("El juego no puede continuar");
return new String();
}
String Monito[]={"_\n"," |\n"," O\n","-","|","-\n","/"," \\\n"};
//Bandera de localización
boolean encontrada=false;
//posición de inicio de búsqueda en palabra
int posIni=0;
//Posición en cadena
int posOnStr=0;
do{
if(palabraJuego.indexOf((int)respuesta,posIni)>=0){
encontrada=true;
posIni=palabraJuego.indexOf((int)respuesta,posIni);
letrasEncontradas[posIni]=true;
posIni+=1;
}
}while(palabraJuego.indexOf((int)respuesta,posIni)!=-1);
if(!encontrada){
System.err.println("Cáracter \"NO\" encontrado");
Errores+=1;
for(int i=0;i<Errores;i++)
System.out.print(Monito[i]);
}
System.out.println("\n");
StringBuffer CadenaIRET=new StringBuffer();
for(int i=0;i<palabraJuego.length();i++){
if(letrasEncontradas[i])
CadenaIRET.append(palabraJuego.charAt(i));
else
CadenaIRET.append("_");
}
return CadenaIRET.toString();
}
public boolean seguirJuego(){
boolean unF=false;
for(int i=0;i<letrasEncontradas.length;i++){
if(letrasEncontradas[i]==false)
unF=true;
}
return ((Errores<8)&&(unF));
}
}
ESQUE EL CODIGO LO CONSEGUI PORQUE NO ME SALIA
ESPERO ME PUEDAN AYUDAR
public class Juego{
public static void main(String args[])throws Exception{
Ahorcado Jugada=new Ahorcado();
do{
System.out.print("Cáracter a jugar: \t");
System.out.println(Jugada.play((char)System.in.read()));
System.in.skip(2l);
}
while(Jugada.seguirJuego());
}
}
class Ahorcado{
//Palabras que utiliza el juego.
private final String palabras[]={"Coincidencia","Arrepentirse",
"Hipertension","Monarquia","Plataforma",
"Resplandeciente"
};
//Palabra con la que se esta jugando.
private String palabraJuego=new String();
//carácter encontrado.
private boolean letrasEncontradas[];
//Guarda errores...
private int Errores=0;
public Ahorcado(){
palabraJuego=palabras[(int)Math.round(Math.random()*(palabras.length-1))].toLowerCase();
letrasEncontradas=new boolean[palabraJuego.length()];
}
public String play(char respuesta)throws
java.io.IOException{
respuesta=new String(new Character(respuesta).toString()).toLowerCase().charAt(0);
if(!seguirJuego()){
System.err.println("El juego no puede continuar");
return new String();
}
String Monito[]={"_\n"," |\n"," O\n","-","|","-\n","/"," \\\n"};
//Bandera de localización
boolean encontrada=false;
//posición de inicio de búsqueda en palabra
int posIni=0;
//Posición en cadena
int posOnStr=0;
do{
if(palabraJuego.indexOf((int)respuesta,posIni)>=0){
encontrada=true;
posIni=palabraJuego.indexOf((int)respuesta,posIni);
letrasEncontradas[posIni]=true;
posIni+=1;
}
}while(palabraJuego.indexOf((int)respuesta,posIni)!=-1);
if(!encontrada){
System.err.println("Cáracter \"NO\" encontrado");
Errores+=1;
for(int i=0;i<Errores;i++)
System.out.print(Monito[i]);
}
System.out.println("\n");
StringBuffer CadenaIRET=new StringBuffer();
for(int i=0;i<palabraJuego.length();i++){
if(letrasEncontradas[i])
CadenaIRET.append(palabraJuego.charAt(i));
else
CadenaIRET.append("_");
}
return CadenaIRET.toString();
}
public boolean seguirJuego(){
boolean unF=false;
for(int i=0;i<letrasEncontradas.length;i++){
if(letrasEncontradas[i]==false)
unF=true;
}
return ((Errores<8)&&(unF));
}
}
