ajout commentaires + affichage mot si partie perdue
This commit is contained in:
parent
af22c64d5b
commit
17faeb85e0
1 changed files with 19 additions and 19 deletions
36
main.c
36
main.c
|
@ -78,32 +78,32 @@ int partieGagnee(int lettresValidees[], int taille) { // pour vérifier si la pa
|
||||||
}
|
}
|
||||||
|
|
||||||
int jeu(const char liste[]) { // déroulement du jeu
|
int jeu(const char liste[]) { // déroulement du jeu
|
||||||
// mot aléatoire
|
char * mot = recuperationMot(liste); // mot aléatoire
|
||||||
char * mot = recuperationMot(liste);
|
int tailleMot = longueurMot(mot); // longueur du mot
|
||||||
int tailleMot = longueurMot(mot);
|
int tableauLettresValidees[tailleMot]; // tableau des lettres trouvés par le joueur
|
||||||
int tableauLettresValidees[tailleMot];
|
|
||||||
char * motObfusque;
|
|
||||||
int demandeLettre;
|
|
||||||
char lettre;
|
|
||||||
for(int i = 0; i < tailleMot; i++) tableauLettresValidees[i] = 0;
|
for(int i = 0; i < tailleMot; i++) tableauLettresValidees[i] = 0;
|
||||||
|
char * motObfusque; // mot avec les lettres pas encore trouvées cachées
|
||||||
|
int demandeLettre; // scanf
|
||||||
|
char lettre; // lettre que le joueur propose
|
||||||
|
short int essaisRestants = 10; // nombre d'essais
|
||||||
|
int finDuJeu = 0; // 0 si partie en cours, 1 si partie terminée
|
||||||
|
|
||||||
// lancement jeu
|
// lancement jeu
|
||||||
short int essaisRestants = 10;
|
|
||||||
int finDuJeu = 0;
|
|
||||||
while(finDuJeu == 0) {
|
while(finDuJeu == 0) {
|
||||||
motObfusque = obfuscation(mot, tableauLettresValidees, tailleMot);
|
motObfusque = obfuscation(mot, tableauLettresValidees, tailleMot); // récupération du mot a trou
|
||||||
printf("\nMot à trouver : %s\n", motObfusque);
|
printf("\nMot à trouver : %s\n", motObfusque);
|
||||||
free(motObfusque);
|
free(motObfusque);
|
||||||
printf("Nombre d'erreurs restantes : %hu\n", essaisRestants);
|
printf("Nombre d'erreurs restantes : %hu\n", essaisRestants);
|
||||||
printf("Saisissez une lettre : ");
|
printf("Saisissez une lettre : ");
|
||||||
demandeLettre = scanf(" %c", &lettre);
|
demandeLettre = scanf(" %c", &lettre); // demande de la lettre au joueur
|
||||||
|
|
||||||
if(demandeLettre == 1) {
|
if(demandeLettre == 1) {
|
||||||
printf("\n");
|
printf("\n");
|
||||||
if(lettre >= 97 && lettre <= 122) lettre = lettre - 32;
|
if(lettre >= 97 && lettre <= 122) lettre = lettre - 32; // capitalisation de la lettre
|
||||||
// vérification si lettre dans le mot
|
// vérification si lettre dans le mot
|
||||||
if(lettreDansMot(mot, tailleMot, &lettre, tableauLettresValidees) == 1) {
|
if(lettreDansMot(mot, tailleMot, &lettre, tableauLettresValidees) == 1) { // vérification lettre dans le mot
|
||||||
printf("La lettre %c est dans le mot !\n", lettre);
|
printf("La lettre %c est dans le mot !\n", lettre);
|
||||||
if(partieGagnee(tableauLettresValidees, tailleMot) == 1) {
|
if(partieGagnee(tableauLettresValidees, tailleMot) == 1) { // vérification partie gagnée
|
||||||
printf("Le mot est %s\n", mot);
|
printf("Le mot est %s\n", mot);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -113,11 +113,11 @@ int jeu(const char liste[]) { // déroulement du jeu
|
||||||
}
|
}
|
||||||
} else perror("Error");
|
} else perror("Error");
|
||||||
|
|
||||||
// verification plus d'essais restants
|
if(essaisRestants == 0) finDuJeu = 1; // verification plus d'essais restants
|
||||||
if(essaisRestants == 0) finDuJeu = 1;
|
|
||||||
}
|
}
|
||||||
|
printf("\nLe mot était %s\n", mot);
|
||||||
free(mot);
|
free(mot);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ int main(const int argc, const char * argv[]) {
|
||||||
}
|
}
|
||||||
argv++;
|
argv++;
|
||||||
if(jeu(argv[0]) == 1) printf("\\o/ Bravo ! Vous remportez la partie ! \\o/\n");
|
if(jeu(argv[0]) == 1) printf("\\o/ Bravo ! Vous remportez la partie ! \\o/\n");
|
||||||
else printf("Euh.. sérieux ? Vous perdez la partie.\n");
|
else printf("Vous perdez la partie.\n");
|
||||||
} else printf("Veuillez préciser le dictionnaire à utiliser.\n");
|
} else printf("Veuillez préciser le dictionnaire à utiliser.\n");
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Reference in a new issue