#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#define MAX_TRIES 6
#define MAX_WORDS 5
void displayHangman(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 | \n | \n | \n | \n"); break;
case 6: printf(" ---- \n | | \n | \n | \n | \n | \n"); break;
}
}
int main() {
char *words[MAX_WORDS] = {"programacion", "computadora", "desarrollo", "algoritmo", "software"};
char guessed[20];
char word[20];
int tries = 0;
int wordIndex, wordLength, correctGuesses = 0;
// Seleccionar una palabra aleatoria
srand(time(NULL));
wordIndex = rand() % MAX_WORDS;
strcpy(word, words[wordIndex]);
wordLength = strlen(word);
memset(guessed, '_', wordLength);
guessed[wordLength] = '\0';
printf("¡Bienvenido al juego del Ahorcado!\n");
while (tries < MAX_TRIES && correctGuesses < wordLength) {
printf("\nPalabra: %s\n", guessed);
displayHangman(tries);
printf("Introduce una letra: ");
char letter = getch();
int found = 0;
for (int i = 0; i < wordLength; i++) {
if (word[i] == letter && guessed[i] == '_') {
guessed[i] = letter;
correctGuesses++;
found = 1;
}
}
if (!found) {
tries++;
printf("Letra incorrecta! Intentos restantes: %d\n", MAX_TRIES - tries);
}
}
if (correctGuesses == wordLength) {
printf("\n¡Felicidades! Has adivinado la palabra: %s\n", word);
} else {
printf("\n¡Has perdido! La palabra era: %s\n", word);
}
return 0;
}