diff options
| author | Gaspard Coulet <gaspard.coulet@mines-ales.org> | 2021-04-28 23:05:53 +0200 |
|---|---|---|
| committer | Gaspard Coulet <gaspard.coulet@mines-ales.org> | 2021-04-28 23:05:53 +0200 |
| commit | 9fe033ea88c2f705ec18c232873d056e0c229d72 (patch) | |
| tree | 0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp | |
Initial commit
Diffstat (limited to 'sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp')
| -rw-r--r-- | sem_2/HLIN202/TP/TP7-8/pendu/pendu.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
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;
+}
|
