#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#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 !
");
printf("Le principe est simple : Trouver le mot secret en proposant des lettres.
");
printf("Vous avez le droit a 10 erreurs. Si vous faites 10 erreurs, vous avez perdu.
");
printf("Les accents et le caracteres speciaux ne sont pas prit en compte.
");
printf("Vous etes pret ? Alors allons y !
");
printf("Quel est le mot secret ? %s
", 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("
Non, "%c" n'est pas dans le mot !
Il ne vous reste plus que %d erreurs !
", ma_lettre, nombre_de_coup);
printf("Quel est le mot secret ? %s
", mon_mot);
printf("Proposez une lette :");
if(nombre_de_coup == 0)
{
system("cls");
printf("
Vous n'avez plus d'essai, vous etes mort...
");
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("
Super ! "%c" est dans le mot !
", ma_lettre);
printf("Quel est le mot secret ? %s
", mon_mot);
printf("Proposez une lette :");
}
}while(strcmp(mon_mot, mot_secret)!= 0);
system("cls");
printf("
Bravo vous avez trouver le mot secret, c'etait bien %s !
", 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'
(pour les effacer)
while (getchar() != '
') ;
return caractere; // On retourne le premier caractère qu'on a lu
}