Bonsoir, je debute en c++, et j'aimerais faire un pendu qui se joue a deux joueurs.
Mon programme:
Le probleme est que pour les mots de 3 lettres ou moins, il y a un bug d'affichage et cdela ne fonctionne plus. Pouvez vous m'aider (ou s'il y a des suggestions d'ameliorations, je suis preneur!)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <iostream> #include <string.h> #include<stdlib.h> using namespace std; int main() { char mot[100],mot2[100],mot3[100],lettre; float l;int i,f; cout<<"Joueur 1, donnez un mot: "<<ends; cin>>mot; l=strlen(mot); for(int i=0;i<l;i++) { mot2[i]='-'; } i=0;f=0; system("cls"); strcpy(mot3,mot2); while (strcmp(mot,mot2)!=0 and f!=7) { cout<<"Mot mystere: "<<mot2<<endl; cout<<"Nombre de fautes: "<<f<<"/7"<<endl; cout<<"Donne une lettre: "<<ends; cin>>lettre; for (i=0;i<l;i++) { if (lettre==mot[i]) { mot2[i]=lettre; } } if (strcmp(mot3,mot2)==0) { f=f+1; } strcpy(mot3,mot2); } if (f==7) { system("cls"); cout<<"Tu as perdu Joueur 2!!!!!!"<<endl<<"Le mot etait: "<<mot<<endl; cout<<"_________"<<endl; cout<<"| / |"<<endl; cout<<"|/ O"<<endl; cout<<"| -|- "<<endl; cout<<"| ( )"<<endl; cout<<"|"<<endl; cout<<"|________"<<endl; } else { system("cls"); cout<<"Felicitations Joueur 2, tu as gagne!!!"<<endl; cout<<"Le mot etait bien : "<<mot; cout<<""<<endl; } return 0; }
Merci d'avance
PS: j'utilise code blocks
Partager