Código de Java - Juego del ahorcado en consola

Imágen de perfil

Juego del ahorcado en consolagráfica de visualizaciones


Java

Publicado el 16 de Noviembre del 2019 por Administrador
589 visualizaciones desde el 16 de Noviembre del 2019
Juego del ahorcado desde la consola/terminal donde hay que adivinar una de las palabras almacenadas en un array.

ahorcado

20160428

Publicado el 16 de Noviembre del 2019gráfica de visualizaciones de la versión: 20160428
589 visualizaciones desde el 16 de Noviembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella


Forma parte de Victor Melcon
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import java.util.Scanner;
import java.util.Random;
 
/**
 * Juego del ahorcado en poco mas de media hora, mu simpleeeee
 * @author victor
 */
public class Ahorcado {
 
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        final int INTENTOS_TOTALES = 7; // Constante con el limite de fallos
        int intentos = 0;
        int aciertos = 0;
        // Mierdas para leer por teclado
        Scanner teclado = new Scanner(System.in);
        teclado.useDelimiter("\n");
        char resp;
        // Random para pillar una palabra al azar
        Random rnd = new Random();
        // Creamos unas palabras y le asignamos una aleatoria a una varibale
        String arrayPalabras[] = new String[3];
        arrayPalabras[0] = "hola";
        arrayPalabras[1] = "adios";
        arrayPalabras[2] = "cojonudo";
 
        do {
 
        // Desguazamos la palabra y la guardamos en un array de caracteres
        int alea = rnd.nextInt(3);
        char[] desguazada = desguaza(arrayPalabras[alea]);
        char[] copia = desguaza(arrayPalabras[alea]); // Algo auxiliar para mas tarde
        // Array para pintar mierdecillas en pantalla(Guiones o letras vamos)
        char[] tusRespuestas = new char[desguazada.length];
 
        // Rellenamos palabras ocn guiones
        for(int i = 0; i < tusRespuestas.length; i++){
            tusRespuestas[i] = '_';
        }
 
        // Empezamos a pintar mierdas en pantalla
        System.out.println("Adivina la palabra!");
 
        // Mientras que no nos pasemos con los intentos y no la acertemos...
        while(intentos < INTENTOS_TOTALES && aciertos != tusRespuestas.length){
            imprimeOculta(tusRespuestas);
            // Preguntamos mierdas por teclado
            System.out.println("\nIntroduce una letra: ");
            resp = teclado.next().toLowerCase().charAt(0);
            // Recorremos el array y comprobamos si se ha producido un acierto
            for(int i = 0; i < desguazada.length; i++){
                if(desguazada[i]==resp){
                    tusRespuestas[i] = desguazada[i];
                    desguazada[i] = ' ';
                    aciertos++;
                }
            }
            intentos++;
        }
        // Si hemos acertado todas imprimimos un mensahe
        if(aciertos == tusRespuestas.length){
            System.out.print("\nFalocidades!! has acertado la palabra: ");
            imprimeOculta(tusRespuestas);
        }
        // Si no otro
        else{
            System.out.print("\nMenudo ceporro eres! la palabra era: ");
            for(int i = 0; i < copia.length; i++){
                System.out.print(copia[i] + " ");
            }
        }
        // Reseteamos contadores
        intentos = 0;
        aciertos = 0;
        // Volvemos a preguntarle al usuario si quiere volver a perder el tiempo
        resp = pregunta("\n\nQuieres volver a jugar?",teclado);
        }while(resp != 'n');
 
    }
 
     /**
     * Esto desguaza el String en un array de caracteres
     * @return array de letras.
     */
    private static char[] desguaza(String palAzar){
        char[] letras;
        letras = new char[palAzar.length()];
        for(int i = 0; i < palAzar.length(); i++){
            letras[i] = palAzar.charAt(i);
        }
        return letras;
    }
 
    /**
     * Esto imprime la palabra con espacios
     * @param tusRespuestas el array de caracteres
     */
    private static void imprimeOculta(char[] tusRespuestas){
 
        for(int i = 0; i < tusRespuestas.length; i++){
            System.out.print(tusRespuestas[i] + " ");
        }
    }
 
    /**
     * Esto nos pregunta si queremos volver a jugar y comprueba los caracteres
     * introducidos
     * @param men texto para mostrar al usuario
     * @return caracter de respuesta (s/n)
     */
    public static char pregunta(String men, Scanner teclado) {
        char resp;
        System.out.println(men + " (s/n)");
        resp = teclado.next().toLowerCase().charAt(0);
        while (resp != 's' && resp != 'n') {
            System.out.println("Error! solo se admite S o N");
            resp = teclado.next().toLowerCase().charAt(0);
        }
        return resp;
    }
 
}



Comentarios sobre la versión: 20160428 (0)


No hay comentarios
 

Comentar la versión: 20160428

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5660