1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int menu();
char lire_caractere();
int main(int argc, char* argv[])
{
int rejouer = 1, tentatives = 0, nombre_lettres = 0, i = 0;
char lettre = 0;
char mot_secret[] = "MARRON", mot[] = "MARRON";
nombre_lettres = strlen(mot_secret); // on récupère la taille du mot secret
for (i = 1; i < nombre_lettres; i++)
{
mot[i] = '*'; // On rempli mot de '*'. Le nombre d'étoiles sera le nombre de lettres du mot secret (sauf la premiere)
}
while (rejouer == 1) // On reste dans la boucle tant que le joueur saisi 1
{
switch (menu()) // Affichage du menu de jeu et choix de la difficultée
{
case 1:
tentatives = 10; // Défini le nombre de tentatives pour trouver le mot
break;
case 2:
tentatives = 8;
break;
case 3:
tentatives = 6;
break;
}
while (strcmp(mot, mot_secret) != 0 && tentatives > 0) // Tant que le mot n'est pas trouvé et qu'il reste des tentatives
{
printf("\nIl vous reste %d coups a jouer", tentatives);
printf("\nQuel est le mot secret ? %s", mot);
printf("\nProposez une lettre : ");
lettre = lire_caractere();
tentatives--;
for (i = 0; i < nombre_lettres; i++) // On cherche la lettre de l'utilisateur dans mot_secret
{
if (lettre == mot_secret[i]) // Si la lettre correspond, elle est ajouté dans mot (a la place d'une etoile)
{
mot[i] = mot_secret[i];
}
}
}
if (strcmp(mot, mot_secret) == 0)
{
printf("\n\nFELICITATIONS !!!!!!\n\nVous avez gagnez, c'etait bien le mot %s", mot);
}
else
{
printf("\n\nDOMMAGE ......\n\nLe bon mot etait %s", mot_secret);
}
printf("\n\nVoulez-vous refaire une partie ?\n\n"); // Propose de refaire une partie
printf("1 - oui\n");
printf("2 - non\n");
scanf_s("%d", &rejouer);
}
printf("\nMerci d'avoir joue, a bientot !!\n");
return 0;
}
int menu()
{
int choix = 0;
while (choix < 1 || choix>3) // Retourne le niveau de difficulté choisi
{
printf("Bienvenue au jeu du pendu !\n\nVeuillez selectionner le niveau de difficulte :\n");
printf("1 : FACILE\n");
printf("2 : DIFFICILE\n");
printf("3 : IMPOSSIBLE\n");
scanf_s("%d", &choix);
}
return choix;
}
char lire_caractere()
{
char caractere = 0;
caractere = getchar(); // On lit le premier caractère
caractere = toupper(caractere); // On met la lettre en majuscule si elle ne l'est pas déjà
while (getchar() != '\n'); // On lit les autres caractères mémorisés un à un jusqu'au \n (pour les effacer)
return caractere; // On retourne le premier caractère qu'on a lu
} |
Partager