diff --git a/main.c b/main.c index a4d4b8e..4de4f81 100644 --- a/main.c +++ b/main.c @@ -55,42 +55,53 @@ char * obfuscation(char mot[], int lettresValidees[], int taille) { j++; } - printf("mot: %s, taille mot: %d, mot caché: %s\n", mot, taille, motCache); + printf("[DEBUG: mot: %s, taille mot: %d, mot caché: %s]\n", mot, taille, motCache); return motCache; } +int lettreDansMot(char mot[], int tailleMot, char lettre[]) { + for(int i = 0; i < tailleMot; i++) if(mot[i] == lettre[0]) return 1; + + return 0; +} + int jeu() { // mot aléatoire char liste[14] = "listeMots.txt"; char * mot = recuperationMot(liste); int tailleMot = longueurMot(mot); int tableauLettresValidees[tailleMot]; + char * motObfusque; + int demandeLettre; + char lettre; for(int i = 0; i < tailleMot; i++) tableauLettresValidees[i] = 0; // lancement jeu short int essaisRestants = 10; int finDuJeu = 0; while(finDuJeu == 0) { - char * motObfusque = obfuscation(mot, tableauLettresValidees, tailleMot); + motObfusque = obfuscation(mot, tableauLettresValidees, tailleMot); printf("\nMot à trouver : %s\n", motObfusque); free(motObfusque); printf("Nombre d'erreurs restantes : %hu\n", essaisRestants); - printf("Saisissez une lettre : \n"); - // vérification si lettre dans le mot + printf("Saisissez une lettre : "); + demandeLettre = scanf("%c\n", &lettre); + if(demandeLettre == 1) { + // vérification si lettre dans le mot + if(lettreDansMot(mot, tailleMot, &lettre) == 1) { + printf("La lettre %c est dans le mot !\n", lettre); + // verification partie gagner + printf("Le mot est %s\n", mot); + return 1; + } else { + printf("La lettre %c n'est pas dans le mot !\n", lettre); + essaisRestants--; + } + } else perror("Error"); - // si oui - printf("La lettre x est dans le mot !\n"); - // verification partie gagner - printf("Le mot est "); - return 1; - - // si non - printf("La lettre x n'est pas dans le mot !\n"); - essaisRestants--; // verification plus d'essais restants if(essaisRestants == 0) finDuJeu = 1; - } free(mot);