c'est le jeux du pendu retrouver un mot en entrant des propositions lettre par lettre
Source / Exemple :
// PROGRAMME EN C++ SOUS DOS DEV C++4
// ecrit le 20-06-2002 par cmarsc
// le jeux du pendu
#include <iostream.h>
#include <conio.c> // ou #include <conio.h>
#include <string.h>
const int ENTER = 13; // touches du clavier
const int ESC = 27;
const int LONGUEUR_MAXI = 50;
int jeux_du_pendu(void);
enum reponse {NON,OUI};
int main() {
int rejouer;
rejouer = OUI;
do {
rejouer = jeux_du_pendu();
} while (rejouer != NON);
return 0;
} // fin de la fonction main
int jeux_du_pendu() {
char mot_a_trouver[LONGUEUR_MAXI];
char ma_proposition[LONGUEUR_MAXI];
char caractere_trouve[LONGUEUR_MAXI];
char rejouer_quitter;
int i1,i2, longueur_mot_a_trouver;
int nbre_de_tentatives, bonnes_reponses;
nbre_de_tentatives = 0;
bonnes_reponses = 0;
// initialiser les tableaux a zero
for (i2 = 0; i2 < LONGUEUR_MAXI; i2++) {
caractere_trouve[i2] = '\0';
mot_a_trouver[i2] = '\0';
ma_proposition[i2] = '\0';
}
// texte violet fond d'ecran violet
textcolor(153);
for (i1 = 5; i1 < 22; i1++) {
gotoxy(1,i1);
cout << endl;
}
// texte jaune fond orange
textcolor(206);
gotoxy(32,2);
cout << " JEUX DU PENDU ";
mot_trop_longs :
// texte blanc sur fond violet
textcolor(159);
gotoxy(2,10);
cout << "Entrez le mot a trouver";
// rendre le mot invisible
// texte jaune fond d'ecran jaune
textcolor(238);
gotoxy(27,10);
cin >> mot_a_trouver;
// effacer la ligne precedente
// texte violet fond d'ecran violet
textcolor(153);
gotoxy(27,10);
cout << endl << endl << endl;
longueur_mot_a_trouver = strlen(mot_a_trouver);
// tester si le mot n'est pas trop longs
if (longueur_mot_a_trouver > LONGUEUR_MAXI) goto mot_trop_longs;
textcolor(159);
gotoxy(2,10);
cout << "Vous devez trouver un mot de "
<< longueur_mot_a_trouver << " lettres";
// retourner dans main pour sortir si ESC
if (mot_a_trouver[0] == ESC) return 0;
// texte jaune sur fond violet
textcolor(158);
while (ma_proposition[0] != ESC) {
gotoxy(2,12);
cout << "Entrez votre proposition de lettre";
gotoxy(37,12);
cin >> ma_proposition;
++nbre_de_tentatives;
// remettre le compteur a zero
bonnes_reponses = 0;
for (i1 = 0; i1 < longueur_mot_a_trouver; i1++) {
// verifier si le caractere tape est dans le mot
if(ma_proposition[0] == mot_a_trouver[i1]) {
// afficher la lettre trouvee
gotoxy(2 + i1,15);
cout << ma_proposition[0];
// stocker les bonnes reponses
caractere_trouve[i1] = ma_proposition[0];
} else {
// aucune concordance trouvee afficher un tiret
if (caractere_trouve[i1] == 0) {
gotoxy(2 + i1,15);
cout << "_";
}
} // fin de if ma_proposition[0]
// tester si vous avez gagne ou perdu
if (caractere_trouve[i1] != 0) {
// compter le nbre de bonnes reponses
bonnes_reponses++;
if (bonnes_reponses == longueur_mot_a_trouver) {
clrscr();
textcolor(206);
gotoxy(32,2);
cout << " JEUX DU PENDU ";
// texte jaune fond vert
textcolor(62);
gotoxy(15,9);
cout << " VOUS AVEZ GAGNE APRES " << nbre_de_tentatives
<< " tentatives sur un mot de " << longueur_mot_a_trouver
<< " lettres ";
// texte blanc fond violet
textcolor(159);
gotoxy(28,11);
cout << "1 Rejouer ESC quitter";
do {
gotoxy(52,11);
rejouer_quitter = getch();
} while (rejouer_quitter != '1' && rejouer_quitter != ESC);
if (rejouer_quitter == '1')
return OUI;
else
return NON;
} // fin de if (bonnes_reponses ...)
} // fin de if (caractere_trouve[i1] ...)
} // fin de for(i1)
} // fin de while (ma_proposition[0] != ESC)
return 0;
} // fin de la fonction jeux_du_pendu
Conclusion :
// PROGRAMME EN C++ SOUS DOS DEV C++4
// ecrit le 20-06-2002 par cmarsc
// le jeux du pendu
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.