C/Visual C - COMO HACER UN PROGRAMA EN C DEL FAMOSO JUEGO EL AH

 
Vista:

COMO HACER UN PROGRAMA EN C DEL FAMOSO JUEGO EL AH

Publicado por Anel (4 intervenciones) el 12/10/2001 20:01:54
ESPERO QUE ME PUEDAN AYUDAR ES PARA EL 18 DE OCTUBRE DEL 2001 GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Implementación del juego "El ahorcado"

Publicado por Alejandro (913 intervenciones) el 16/10/2024 22:58:45
Anel, aquí tienes un ejemplo básico de cómo implementar el juego "El ahorcado" en C. Este programa permite a un jugador adivinar letras de una palabra secreta. Si el jugador adivina incorrectamente un número determinado de veces, pierde el juego.

Código del juego "El ahorcado"



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
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
 
#define MAX_TRIES 6
#define MAX_WORD_LENGTH 100
 
void printHangman(int tries) {
    switch (tries) {
        case 0: printf("  -----\n  |   |\n  |   O\n  |  /|\\\n  |  / \\\n  |\n"); break;
        case 1: printf("  -----\n  |   |\n  |   O\n  |  /|\\\n  |  / \n  |\n"); break;
        case 2: printf("  -----\n  |   |\n  |   O\n  |  /|\\\n  |  \n  |\n"); break;
        case 3: printf("  -----\n  |   |\n  |   O\n  |  /|\n  |  \n  |\n"); break;
        case 4: printf("  -----\n  |   |\n  |   O\n  |   |\n  |  \n  |\n"); break;
        case 5: printf("  -----\n  |   |\n  |   O\n  |  \n  |  \n  |\n"); break;
        case 6: printf("  -----\n  |   |\n  |  \n  |  \n  |  \n  |\n"); break;
    }
}
 
void playGame(const char* word) {
    int wordLength = strlen(word);
    char guessedWord[MAX_WORD_LENGTH];
    char guessedLetters[26] = {0};
    int tries = 0;
    int correctGuesses = 0;
 
    // Inicializar la palabra adivinada con guiones bajos
    for (int i = 0; i < wordLength; i++) {
        guessedWord[i] = '_';
    }
    guessedWord[wordLength] = '\0';
 
    while (tries < MAX_TRIES && correctGuesses < wordLength) {
        printf("\nPalabra: %s\n", guessedWord);
        printHangman(tries);
        printf("Letras adivinadas: %s\n", guessedLetters);
        printf("Introduce una letra: ");
 
        char guess;
        scanf(" %c", &guess);
        guess = tolower(guess);
 
        // Verificar si la letra ya fue adivinada
        if (strchr(guessedLetters, guess)) {
            printf("Ya adivinaste la letra '%c'. Intenta otra vez.\n", guess);
            continue;
        }
 
        // Agregar la letra a las letras adivinadas
        guessedLetters[strlen(guessedLetters)] = guess;
 
        // Verificar si la letra está en la palabra
        int found = 0;
        for (int i = 0; i < wordLength; i++) {
            if (word[i] == guess) {
                guessedWord[i] = guess;
                found = 1;
                correctGuesses++;
            }
        }
 
        if (!found) {
            tries++;
            printf("Letra incorrecta. Te quedan %d intentos.\n", MAX_TRIES - tries);
        }
    }
 
    if (correctGuesses == wordLength) {
        printf("\n¡Felicidades! Adivinaste la palabra: %s\n", word);
    } else {
        printf("\nPerdiste. La palabra era: %s\n", word);
    }
}
 
int main() {
    const char* secretWord = "programacion"; // Palabra secreta
    playGame(secretWord);
    return 0;
}

Explicación del código



1. Funciones:
- `printHangman(int tries)`: Muestra el estado del ahorcado según el número de intentos fallidos.
- `playGame(const char* word)`: Lógica principal del juego, donde se maneja la adivinanza de letras y el estado del juego.

2. Variables:
- `guessedWord`: Almacena la palabra que el jugador está tratando de adivinar, mostrando letras adivinadas y guiones bajos para las no adivinadas.
- `guessedLetters`: Almacena las letras que el jugador ha adivinado.
- `tries`: Contador de intentos fallidos.
- `correctGuesses`: Contador de letras correctas adivinadas.

3. Lógica del juego:
- El jugador introduce letras y el programa verifica si están en la palabra secreta.
- Se actualiza el estado del juego y se muestra el progreso al jugador.
- El juego termina cuando el jugador adivina la palabra o se queda sin intentos.

Ejecución



Para ejecutar el programa, simplemente compílalo y corre el ejecutable. El jugador puede introducir letras para intentar adivinar la palabra secreta.

Consideraciones



- Puedes modificar la palabra secreta o agregar una lista de palabras para hacer el juego más interesante.
- Considera agregar más características, como un sistema de puntuación o un menú para elegir palabras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar