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 100 101
|
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
int Iwin(char shadowTab[], char motSecret[]);
char lireCaractere();
int chercheLettre(int boolTab[] , char motSecret[],char lettre);
char retourneTableau(char shadowTab[] , char motSecret[], char boolTab[] );
char lireCaractere()
{
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à
// On lit les autres caractères mémorisés un à un jusqu'à l'\n
while (getchar() != '\n') ;
return caractere; // On retourne le premier caractère qu'on a lu
}
int Iwin(char shadowTab[], char motSecret[])
{
int i = 0;
int value = 0;
for(i=0; motSecret[i] != '\0'; i++)
{
value =1;
if(motSecret[i] != shadowTab[i])
value =0;
}
return value;
}
int chercheLettre(int boolTab[] , char motSecret[],char lettre)
{
int i =0;
for(i=0; (motSecret[i] != '\0'); i++)
{
if(motSecret[i]== lettre)
boolTab[i]= 1;
else
boolTab[i]= 0;
}
return boolTab;
}
char retourneTableau(char shadowTab[] , char motSecret[], char boolTab[] )
{
int i =0;
while(motSecret[i] !='\0')
{
if(boolTab[i]==1) //si boolTab est à 1 on révèle une lettre au joueur.
shadowTab[i]=motSecret[i];
else
shadowTab[i]='*';
i++;
}
return shadowTab;
}
int main()
{
char motSecret[20]="ROUGE"; //mot secret du pendu, invisible au joueur.
char shadowTab[20]="*****"; //tableau affiché à l'écran du joueur
int boolTab[20] = {0}; // tableau booléen qui servira à réveler ou non les lettres sur le tableau affiché à l'écran du joueur.
int compteCoups = 10;
int winner = 0;
char lettre;
while((compteCoups !=0) && (winner !=1) )
{
printf("le mot secret est %s \n",shadowTab);
printf("Il vous reste %d Coups saisissez une lettre \n", compteCoups);
compteCoups--;
lettre = lireCaractere();
boolTab[20] = chercheLettre(boolTab,motSecret,lettre);
shadowTab[20] = retourneTableau(shadowTab, motSecret, boolTab);
winner = Iwin(shadowTab[20],motSecret);
}
if(winner == 1)shadowTab
{
printf("c'est win");
}
else
{
printf("c'est loose");
}
return 0;
} |
Partager