diff options
Diffstat (limited to 'sem_2/HLIN202/TP/TP7-8/pendu')
| -rw-r--r-- | sem_2/HLIN202/TP/TP7-8/pendu/pendu | bin | 0 -> 13755 bytes | |||
| -rw-r--r-- | sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp | 75 |
2 files changed, 75 insertions, 0 deletions
diff --git a/sem_2/HLIN202/TP/TP7-8/pendu/pendu b/sem_2/HLIN202/TP/TP7-8/pendu/pendu Binary files differnew file mode 100644 index 0000000..139bd06 --- /dev/null +++ b/sem_2/HLIN202/TP/TP7-8/pendu/pendu diff --git a/sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp b/sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp new file mode 100644 index 0000000..6d38990 --- /dev/null +++ b/sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp @@ -0,0 +1,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;
+}
|
