0% encontró este documento útil (0 votos)
16 vistas3 páginas

Juego de Adivinanza de Palabras en C

Este documento es un código en C que implementa un juego de ahorcado. El jugador debe adivinar una palabra seleccionada aleatoriamente de una lista, introduciendo letras y recibiendo retroalimentación sobre sus intentos. El juego termina cuando el jugador adivina la palabra o alcanza un número máximo de errores permitidos.

Cargado por

mercafam08
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas3 páginas

Juego de Adivinanza de Palabras en C

Este documento es un código en C que implementa un juego de ahorcado. El jugador debe adivinar una palabra seleccionada aleatoriamente de una lista, introduciendo letras y recibiendo retroalimentación sobre sus intentos. El juego termina cuando el jugador adivina la palabra o alcanza un número máximo de errores permitidos.

Cargado por

mercafam08
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

#include <stdio.

h>
#include <stdlib.h>
#include <time.h>

#define MAX_WORDS 20
#define MAX_ERRORS 10
void la_personita(int errores) {
printf(" |--------|\n");
if (errores > 0) printf(" | 0\n");
if (errores > 1) printf(" | |\n");
if (errores > 3) printf(" | /|");
if (errores > 4) printf("\\\n");
else printf("\n");
if (errores > 5) printf(" | /\n");
if (errores > 6) printf(" | / \\\n");
printf(" |\n");
}
void mostrar_palabra(const char *palabra, int *adivinadas, int longitud) {
for (int i = 0; i < longitud; i++) {
if (adivinadas[i]) {
printf("%c ", palabra[i]);
} else {
printf("_ ");
}
}
printf("\n");
}
void jugar() {
const char *palabras[MAX_WORDS] = {
"programa", "computadora", "algoritmo", "funcion", "variable",
"ciclo", "condicion", "arreglo", "estructura", "datos",
"lenguaje", "compilador", "depuracion", "sintaxis", "biblioteca",
"objeto", "clase", "metodo", "instancia", "herencia"
};

srand(time(0));
int indice_palabra = rand() % MAX_WORDS;
const char *palabra_elegida = palabras[indice_palabra];
int longitud_palabra = 0;

while (palabra_elegida[longitud_palabra] != '\0') {


longitud_palabra++;
}

int adivinadas[longitud_palabra];
for (int i = 0; i < longitud_palabra; i++) {
adivinadas[i] = 0;
}
int errores = 0;
char letra;

while (errores < MAX_ERRORS) {


la_personita(errores);
mostrar_palabra(palabra_elegida, adivinadas, longitud_palabra);

printf("Introduce una letra: ");


scanf(" %c", &letra);

if (letra < 'a' || letra > 'z') {


printf("Error: Introduce solo una letra.\n");
continue;
}

int encontrado = 0;

for (int i = 0; i < longitud_palabra; i++) {


if (palabra_elegida[i] == letra) {
adivinadas[i] = 1;
encontrado = 1;
}
}

if (!encontrado) {
errores++;
}

int todas_adivinadas = 1;
for (int i = 0; i < longitud_palabra; i++) {
if (!adivinadas[i]) {
todas_adivinadas = 0;
break;
}
}

if (todas_adivinadas) {
printf("¡Felicidades! Has adivinado la palabra: %s\n", palabra_elegida);
break;
}
}

if (errores == MAX_ERRORS) {
la_personita(errores);
printf("Has perdido. La palabra era: %s\n", palabra_elegida);
}
}
int main() {
jugar();
return 0;
}

También podría gustarte