El ahorcado, más codigo fuente en Java

JavaBueh aquí traigo de obsequio otro de los código fuente que me tocó elaborar en la universidad, se trata en esta ocasión de un Java Applet donde puedes jugar al Ahorcado. El ahorcado es ese juego donde uno intenta adivinar una palabra letra por letra, pero tiene que hacerlo antes de morir ahorcado.

Los requisitos que nos pidieron para este proyecto es implementar listas ligadas, el API de Java Collections, y para hacerlo más fácil también usé Genéricos(J2SE 1.5). u.u

Aquí tienen unas capturas de pantalla:

Ahorcado

Ahorcado

Descargate el Ahorcado en Java aquí.

El proyecto está hecho utilizando el IDE JCreator, así que solamente queda descomprimir el archivo en C:\ y abrirlo con JCreator, o abrir el archivo Ahorcado.htm.

Aunque se supone que es un applet no pude adaptarlo para la web.. =(, así que sólo podrán abrirlo en su PC.

En fin, espero que les sirva de algo. 😉

63 comentarios
  1. //antes de comenzar el codigo borren todo y dejen la pagina en blanco

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;

    public class AhorcadoPrueba
    {
    String palabra = new String(); // Atributo que sirve para almacenar la palabra a adivinar.
    char letrasAdivinadas[]; //Atributo que almacena las letras adivinadas.
    String letrasIntroducidas = «»; //Atributo para almacenar las letras introducindas por el jugador.

    public AhorcadoPrueba() {
    }

    /* Metodo para leer una cadena de teclado*/
    public String leerTeclado() {
    String cad = «»;
    BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
    try {
    return teclado.readLine();
    }
    catch (IOException e) {
    System.out.println(» Se ha producido el siguiente error: «);
    System.out.println(e.getMessage());
    }
    return cad;
    }

    //Metodo que pide la palabra que se ha de adivinar
    public void pedirPalabra() {
    System.out.println(«cual es la palabra para jugar?:»);
    palabra = leerTeclado();
    }

    //Metodo que
    public char pedirLetra() {
    System.out.println(«digite una letra:»);
    String cad = leerTeclado();
    letrasIntroducidas = letrasIntroducidas + cad.charAt(0) + » ,»;
    return cad.charAt(0);
    }

    public void buscarLetra(char letra) {
    int pos = 0;
    do {
    pos = palabra.indexOf(letra, pos);
    if (pos != -1) {
    letrasAdivinadas[pos] = letra;
    pos++;
    }
    }
    while (pos != -1);

    }

    public void inicializarPalabra() {

    letrasAdivinadas = new char[palabra.length()];
    for (int i = 0; i <= palabra.length() – 1; i++) {
    letrasAdivinadas[i] = '_';
    }
    }

    public void mostrarJuego() {
    for (int i = 0; i <= palabra.length() – 1; i++) {
    System.out.print(letrasAdivinadas[i] + " ");

    }
    System.out.println();
    System.out.println("estas son las letras ya digitadas: " + letrasIntroducidas);
    }

    public int fin() {
    int res = 0,i;
    for ( i = 0; i <= palabra.length() – 1; i++) {
    if (letrasAdivinadas[i] == '_') {
    res = 1;
    }
    else {
    res = 0;
    }
    }
    System.out.println(res);
    return res;
    }

    public static void main(String[] args) {
    char c;
    AhorcadoPrueba Game = new AhorcadoPrueba();
    Game.pedirPalabra();
    Game.inicializarPalabra();
    do {
    c = Game.pedirLetra();
    Game.buscarLetra(c);
    Game.mostrarJuego();
    }
    while (Game.fin() == 1);

    }
    }

  2. I just couldn’t depart your web site before suggesting that I really loved the standard information a person supply in your visitors? Is going to be back frequently to investigate cross-check new posts.

  3. 1ª Parte: Recuperación y [creación/modificación] de ficheros de texto:
    * 1.1 Se le pide que implemente el juego del ahorcado de manera sencilla. Sin emplear interfaz gráfica AWT o Swing.
    * Al inicio de cada partida, se escogerá una palabra de manera aleatoria de una lista de palabras existente en un
    * archivo de texto externo «palabras.txt». El archivo será modificado desde el exterior. El jugador debe acertar
    * la palabra antes de seis intentos. Las palabras podrán cargarse a un objeto contenedor adecuado (como un
    * ArrayList). Podrá crear una clase externa para ello, con sus métodos correspondientes, si lo considera oportuno.
    * 1.2 Mejore la implementación anterior dando la opción al usuario de insertar palabras nuevas en el archivo
    * «palabras.txt» antes de iniciar una partida. Para ello quizá deba modificar levemente la entrada del programa,
    * insertando algún tipo de menú de opciones o una pregunta de confirmación previa al comienzo del juego.
    2º Parte: Manipulación de ficheros binarios. Serialización
    2.1 Mejore el ejercicio anterior creando una clase Jugador, capaz de almacenar el nombre de un jugador y una puntuación asociada al mismo. Al comienzo de la partida se tratará de reconocer al jugador y cargar su puntuación, así como darle la bienvenida (si existe el fichero de jugador). Si no existe aún un Jugador, se pedirá el nombre de uno y se pondrá a cero su puntuación. En esta primera mejora, se pretende guardar y recuperar la información del jugador en un archivo binario usando la clase «DataOutputStream» y «DataInputStream».
    2.2 Repita el apartado anterior, esta vez «serializando» la clase Jugador. Se guardará el estado de un objeto jugador directamente en un archivo binario. No olvide implementar la interfaz «Serializable».
    2.3 Observe los dos archivos generados en los apartados anteriores. ¿Qué archivo ocupa más espacio en menoria?
    2.4 Ahora mejoraremos aún más el programa. Se va a permitir guardar la información de una lista de jugadores. Para ello cree una nueva clase ListaJugadores que almacene en un atributo un ArrayList. Escoja una forma de guardar esta información. Guarde en ella al monos unos diez jugadores con sus puntuaciones correspondientes.
    3º Parte: Desarrollo de aplicación de escritorio de «Juego del Ahorcado» usando AWT,Swing
    3.1 Tendrá que desarrollar una aplicación completa de escritorio basándose en el programa del ahorcado implementado en las primeras partes de este ejercicio. Para realizar una aplicación de escritorio debe emplear la clase JDesktopPane (Panel de escritorio), contenido dentro de nuestro JFrame de siempre. Sobre este tipo de contenedores podremos abrir objetos del tipo JInternalFrame. Esto serán ventanas internas que irán conformando partes de mi aplicación.
    Se podrá consultar la lista de jugadores con sus correspondientes puntuaciones (es una buena oportunidad para investigar elementos gráficos como los JTable), ampliar la lista agregando nuevos jugadores, o eliinarlos definitivamente. Para realizar los menús correspondientes, se podrá hacer uso de elementos como los JMenuBar
    Buena estructuración y organización (Todo comentado)

Los comentarios están cerrados.