- // 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
-
// 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