Jeux du pendu

Fermé
Joker - Modifié le 14 avril 2021 à 11:22
yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 14 avril 2021 à 15:38
bonjours ! j'ai un soucis avec le jeux : lorsque je le lance je n'ai que des erreur logiques et personnellement je n'arrive plus a avancer
voila ce que j'ai déjà fais aider mois a corriger s'il vous plait ; je ne suis que débutant .
#include<stdio.h>
#include<ctype.h>
#include<stdio.h>
#include<string.h>

int main (int argc, char *argv[]){
    int cnt = 0;
    char lettre = 0;
    char mots_a_deviner [] = {"mugiwara"};
    int lettre_trouvee[8];

    int points_restants = 5; // tableau de booleen , chaque case correspond a une lettre du mot true =1 ; false = 0

    printf (" \t...BIENVENU A VOUS DANS LE PENDU...\n Vous   perdez   vous   etes   pendu ");

    while (points_restants > 0 && !gagne(lettre_trouvee, 8)){
        printf ("\n \n vous avez %d point faites de votre mieux pour ne pas en perdre",points_restants);
        printf ("\n \n \t QUELLES EST LE MOT MYSTERIEU ? \n ");

        int i =0;
        for (i = 0; i < 8; i++){
            if (lettre_trouvee[i])
                printf("%c",mots_a_deviner[i]);
            else
                printf ("^");
        }
        printf ("\n Entrez vos letres : ");
        lettre = lire_caractere();

        if ((strrchr(mots_a_deviner, lettre))!= 0)  // si la reponse n'est pas bonne
            {
            points_restants --;
        }

    }

        if (gagne(lettre_trouvee))
            printf ("\n \n BRAVO A TOI TU AS GAGNE !!!!, le mot mystere etait bell et bien : %s", mots_a_deviner);
        else
            printf ("\n \n PERDU!!!!, le mot mystere : %s", mots_a_deviner);


return 0;

}


void lire_caractere(){
    char caractere = 0; //on recupere le caractere entre
    caractere = getchar(); // o lit le premier caractere entre

    caractere = toupper(caractere); // on tra la lettre en MAGa
    while (getchar() != '\n') ;
    return caractere;
}

int gagne(int lettre_trouvee[]){
    int i =0, joueur_gagne =1;
    for (i =0; i < 8; i++){
        if (lettre_trouvee[i] == 0)
            joueur_gagne = 0;
    }
    return joueur_gagne;
}

int lettre_rch (char lettre, char mots_a_deviner[], int lettre_trouvee[]){
    int i =0;
    int Truelettre =0;

    for (i =0; mots_a_deviner[i] != '\0'; i++){
        if (lettre == mots_a_deviner[i]){
                Truelettre =1;
        lettre_trouvee[i] =1;
        }
    }
    return Truelettre;

}



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

yg_be Messages postés 22719 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
14 avril 2021 à 15:38
bonjour, quelles erreur logiques?
0