📅  最后修改于: 2022-03-11 15:04:35.994000             🧑  作者: Mango
#include
#include
#include
#include
#include "pendu.h"
int main()
{
char mot_secret[MAXIMUM] = "MARRON"; //Mot à deviner
char ma_lettre; // Lettre saisie
char mon_mot[MAXIMUM] = "XXXXXX"; // Mot pas encore deviner
int nombre_de_coup = 10; //Nombre de coup restant pour deviner
int longueur_mot = strlen(mot_secret);
printf("Bonjour et bienvenue sur le jeu du pendu !\n\n\n");
printf("Le principe est simple : Trouver le mot secret en proposant des lettres.\n");
printf("Vous avez le droit a 10 erreurs. Si vous faites 10 erreurs, vous avez perdu.\n");
printf("Les accents et le caracteres speciaux ne sont pas prit en compte.\n");
printf("Vous etes pret ? Alors allons y !\n\n");
printf("Quel est le mot secret ? %s\n", mon_mot);
printf("Proposez une lette :");
do
{
ma_lettre = lireCaractere();
int reste_chaine = strchr(mot_secret, ma_lettre); //Reste chaine représente la chaine à partir du caractère ma_lettre
if(strchr(mot_secret, ma_lettre) == NULL) //Test si la lettre est dans le mot secret
{
nombre_de_coup--;
printf("\n\nNon, \"%c\" n'est pas dans le mot !\nIl ne vous reste plus que %d erreurs !\n\n", ma_lettre, nombre_de_coup);
printf("Quel est le mot secret ? %s\n", mon_mot);
printf("Proposez une lette :");
if(nombre_de_coup == 0)
{
system("cls");
printf("\n\n\nVous n'avez plus d'essai, vous etes mort...\n\n\n");
return 0;
}
}
else
{
int i;
for( i = 0 ; i < longueur_mot; i++) //remplacement de la lettre dans mon mot ( le mot tel qu'il sera afficher : XXXXX )
{
if(ma_lettre == mot_secret[i])
{
mon_mot[i] = mot_secret[i];
}
}
printf("\n\nSuper ! \"%c\" est dans le mot !\n", ma_lettre);
printf("Quel est le mot secret ? %s\n", mon_mot);
printf("Proposez une lette :");
}
}while(strcmp(mon_mot, mot_secret)!= 0);
system("cls");
printf("\n\n\nBravo vous avez trouver le mot secret, c'etait bien %s !\n\n\n", mot_secret);
return 0;
}
char lireCaractere()
{
char caractere;
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à
// On lit les autres caractères mémorisés un à un jusqu'à l'\n (pour les effacer)
while (getchar() != '\n') ;
return caractere; // On retourne le premier caractère qu'on a lu
}