Jeux du pendu devc++4

Soyez le premier à donner votre avis sur cette source.

Vue 10 629 fois - Téléchargée 519 fois

Description

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

Codes Sources

A voir également

Ajouter un commentaire Commentaire
Messages postés
5
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
18 août 2010

nul

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.