Juego del Ahorcado en C

Buenas, tengo un trabajo de la universidad en el que tengo que hacer un código en C que consiste en el juego del ahorcado. Como estoy empezando en la universidad me piden que lo haga con herramientas muy sencillas. Lo he empezado pero no he podido terminarlo. Por eso pido ayuda.

En el código se utiliza un fichero donde se encuentran las palabras para adivinar.
Dejo por aquí el código hasta donde he podido llegar:

(Tambien podria utilizar la libreria <stdbool.h> pero no tengo idea de como introducirla).

C:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int main ()
{
    FILE *fitxer;
    int nContador, num, i, x, intents;
    char paraula[10], lletra[2];
    nContador=0;
    fitxer= fopen ("paraules.txt", "r");
    if (fitxer== NULL)
        printf ("No es pot obrir el fitxer %s \n", "paraules,txt");
    else
    {
        while (fscanf(fitxer,"%s", paraula) != -1)
        {
            nContador++;
        }
    printf ("\nNumero de paraules = %d \n", nContador);
    fclose(fitxer);
    }



    srand (time(NULL));
    num = rand ()% nContador;
    printf ("%d\n", num);
    i=0;
    fitxer= fopen ("paraules.txt", "r");
    while (i<num)
    {
        fscanf(fitxer,"%s", paraula);
        i++;
    }
    printf("%s\n", paraula);


    intents = 10;
    while (intents != 0)
    {
        scanf ("%c", &lletra[1]);
        x = 0;
        while (paraula[x] != '\0')
            {
                if (lletra[1] == paraula[x])
                {
                    printf ("%c", lletra[1]);
                }
                else
                {
                    printf ("_ ");
                }
             x++;
            }
        intents = intents -1;
    }

    fclose (fitxer);
}
Describe "En detalle" que hace o que se supone debería hacer tu programa, preferentemente línea por línea
 
El código tiene que coger una palabra aleatoria del fichero que sera la palabra para adivinar. Entonces el jugador tiene que teclear una letra y si esta está contenida en la palabra, mostrar la la letra en la ubicación de la palabra y las letras restantes con guiones. Por ejemplo: patata--->_ _ t _ t _ (si el jugador teclea la letra t). Eso teniendo 10 intentos, si se falla la letra se resta un intento, si se acierta se mantienen los intentos, y así hasta llegar a 0 intentos o hasta que la palabra este completa. También tienen que haber la opción de, tecleando "0", poder introducir la palabra entera. Si se acierta ganas y sino pierdes.

Gracias.
 
El código tiene que coger una palabra aleatoria del fichero que sera la palabra para adivinar. Entonces el jugador tiene que teclear una letra y si esta está contenida en la palabra, mostrar la la letra en la ubicación de la palabra y las letras restantes con guiones. Por ejemplo: patata--->_ _ t _ t _ (si el jugador teclea la letra t). Eso teniendo 10 intentos, si se falla la letra se resta un intento, si se acierta se mantienen los intentos, y así hasta llegar a 0 intentos o hasta que la palabra este completa. También tienen que haber la opción de, tecleando "0", poder introducir la palabra entera. Si se acierta ganas y sino pierdes.

Gracias.

Gracias por la descripción del juego, pero pedí la descripción del programa, NO del juego.

Describe "En detalle" que hace o que se supone debería hacer tu programa, preferentemente línea por línea

Resumiendo, sabes o no que cosa hace el programa.
 
Última edición:
Primero lo que hace el programa es abrir el fichero en modo lectura donde se encuentran las palabras. Si este no existe escribe que no se puede abrir el fichero, pero si existe el programa empieza a contar las palabras del fichero. Mas adelante con el numero de palabras el programa elige un numero aleatorio que indicara la palabra para adivinar, que sera aleatoria también. Entonces viene la parte donde se me complica: lo que intento hacer es que, con un bucle, los intentos se reduzcan cuando fallas la letra que debería contener la palabra aleatoria. Dentro de este se lee la letra y con otro bucle iguala todas las letras de la palabra con la letra introducida, si son iguales escribe la letra, en caso contrario escribe un guion. Ademas debería hacer que las letras acertadas se mantuvieran completando la palabra a medida que se aciertan las letras.
 
Para eso estableces salidas condicionales del bucle, por ejemplo
Letra repetida decrementa intentos
Letra acertada, NO altera intentos restantes y escape a sub-rutina
 
Atrás
Arriba