ayuda con un programa que simule el juego del ahorcado
Publicado por robert (1 intervención) el 23/12/2005 02:18:06
programa que simule el juego del ahorcado
Valora esta pregunta


0
//JUEGO AHORCADO
//Helena Vega Hidalgo
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.*;
import java.text.*;
public class Ahorcado
{
public static void main (String []args)throws IOException
{
String []palabra = new String[10]; //Vector de palabra
int errores = 0; //Numero de Errores
boolean salir = false; //Si se termina el juego o no
//Palabras almacenadas
palabra[0]="Tijeras";
palabra[1]="Volcan";
palabra[2]="Sirena";
palabra[3]="Lampara";
palabra[4]="Hormiga";
palabra[5]="Chocolate";
palabra[6]="Mani";
palabra[7]="Pichel";
palabra[8]="Lombriz";
palabra[9]="Zapato";
int aleatorio = (int)(palabra.length*Math.random()); //Palabras Aleatorias
//Titulo
System.out.println("***********************************\n"+
"* *\n"+
"* <<<----JUEGO AHORCADO---->>> *\n"+
"* *\n"+
"***********************************");
System.out.println();
System.out.println("Adivine la palabra");
System.out.println();
StringBuffer asteriscos = new StringBuffer (palabra[aleatorio]); //Asteriscos de la palabra
String modificar = new String(palabra[aleatorio]);
//Longitud de los asteriscos de la palabra
for (int i=1; i<asteriscos.length(); i++)
{
asteriscos.setCharAt(i,'*');
}
System.out.print(asteriscos); //Imprime los asteriscos de acuerdo a la longitud de la palabra
int numero_letras = modificar.length()-1; //Variable para las letras digitadas
while(!salir) //Sale del juego
{
char letra = (char)System.in.read(); //Lee la letra digitada
if (modificar.indexOf(letra)>-1) //Busca la letra en el vector palabra
{
numero_letras--; //Si encuentra la letra disminuye el conteo de letras
System.out.println("Letra correcta");
//Posiciona la letra en los asteriscos
int posicion_letra = modificar.indexOf(letra);
char digito=modificar.charAt(posicion_letra);
asteriscos.setCharAt(posicion_letra, digito);
modificar.indexOf(letra, posicion_letra+1);
//Ciclo para Buscar las letras dentro de la palabra y posicionarla
while (modificar.indexOf(letra, posicion_letra+1) != -1)
{
numero_letras--;
digito=modificar.charAt(posicion_letra);
posicion_letra = modificar.indexOf(letra, posicion_letra+1);
asteriscos.setCharAt(posicion_letra, digito);
}
modificar = modificar.replace(digito,'²');
System.out.print(asteriscos);
}
//Errores si la letra no es correcta
else
{
System.out.println("Letra Incorrecta");
errores=errores+1;
System.out.println("Error: "+errores);
}
//Finalizacion del juego si el jugador pierde
if (errores >=7)
{
salir=true;
System.out.println("AHORCADO");
}
//Finalizacion del Juego si el jugador gana
if (numero_letras<=0)
{
salir=true;
System.out.println("PALABRA CORRECTA");
}
System.in.read();
System.in.read();
}
}
}