Hola
Yo también he hecho una versión un poco parecida a la de
Sagrini, aunque yo no utilizo lo de las pistas
Aquí la teneis
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define num_elementos 15 //Numero de palabras que hay en el fichero
#define fich "palabras.txt" //En el fichero "palabras.txt" guardamos las palabras. Una por linea. Deja una linea en blanco al final
int main ()
{
int intentos, cont, p, tam, flag;
char palabra[12], car, palabras[num_elementos][12], salir = 'n';
printf("\n\n-----=====BIENVENIDO AL JUEGO DEL AHORCADO=====----- by satu");
FILE *fp;
if(!fp)
{
printf("Fallo al abrir fichero %s\n\n", fich
); return -1;
}
for(cont = 0; cont < num_elementos; cont++)
{
fgets(palabras
[cont
], 12, fp
); palabras[cont][tam-1] = '\0';
}
do
{
intentos = 5; //Numero de intentos para acertar la palabra
flag = 0; //Nos indica si la letra esta en la palabra o no
car = 0; //Caracter que vamos introduciendo en cada iteracion
p
= rand() % num_elementos
; //Seleccionamos una palabra al azar
palabra[tam] = '\0';
while((strcmp(palabra
, palabras
[p
]) != 0) && (intentos
> 0)) {
printf ("\n\nIntentos restantes: %i\nPalabra de %i letras: %s\n", intentos
, tam
, palabra
);
printf ("\nEscribe una letra: "); car
= getchar (); // car = fgetc (stdin);
for (cont=0; cont < tam; cont++)
if (car == palabras[p][cont])
{
palabra[cont] = car;
flag = 1;
}
if(flag == 0)
intentos--;
flag = 0;
}
if(intentos)
printf("\n\nMUY BIEN La palabra era: %s\n\n", palabra
); else
printf("\n\nOOOOOOOOHHHHHHHHHH La palabra era: %s\n\n", palabras
[p
]);
printf("Quieres salir? (s/n) "); }
while(salir != 's' && salir != 'S');
printf("Pulsa Enter para continuar..."); return 0;
}
Saludos