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
|
#include <iostream>
#include <cstdlib>
/* HLIN202 TD8 exercice du pendu
Par Gaspard Coulet ( gaspard.coulet@etu.umontpellier.fr )
*/
//affiche un tableau de caractere sous la forme d'un mot
void affichechartab ( int taille, char tab[]) {
std::cout<<std::endl;
std::cout<<" ";
for ( int i = 0; i< taille-1; i ++) {
std::cout<<tab[i];
}
std::cout<<std::endl<<std::endl;
}
//determine si lettre est appartient a mot, si oui, le revele dans print, et incremente justes
bool estdansmot ( char lettre, char mot[], int n, char print[], int * justes) {
bool ret= false;
for ( int i = 0; i < n; i++ ) {
if ( mot[i]==lettre) {
ret= true;
print[i]=lettre;
*(justes) += 1;
mot[i]='_';
}
}
return ret;
}
int main () {
int vie = 5;
int taille;
char lettre;
int justes=0;
std::cout << " Joueur 1 : Entrez la taille du mot a faire deviner " << std::endl;
std::cin >> taille;
std::cout<<" Joueur 1 : Entrez le mot a faire deviner, puis pressez enter"<< std :: endl;
char motdev[taille+1];
char backup[taille+1];
for (int i=0; i < taille; i ++ ) {
std::cin>>motdev[i];
backup[i] = motdev[i];
}
char printed[taille+1];
for (int i =0; i < taille; i ++) {
printed[i]= '-';
}
system("clear");
affichechartab(taille+1, printed);
while ( vie != 0 && justes != taille) {
std::cout << " Joueur 2 : Vous avez : " << vie << " vies; Entrez une lettre :"<<std::endl;
std::cin >> lettre;
system("clear");
if (estdansmot(lettre, motdev, taille+1, printed, &justes)) {
system("clear");
std::cout << " La lettre : " << lettre << " fait est bel est bien dans le mot" << std::endl;
affichechartab(taille+1,printed);
}
else {
system("clear");
vie --;
std::cout<<" La lettre ne fait pas partie du mot, vous perdez une vie, il vous en reste : " << vie << std::endl;
affichechartab(taille+1, printed);
}
}
if ( vie == 0) {
std::cout<< " Perdu ! Le mot a deviner etait : ";
affichechartab(taille+1, backup);
}
else {
std::cout << " Bravo ! Vous avez trouve le mot :) " << std::endl<< std::endl;
}
return 0;
}
|