1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
   | #include <iostream>
#include <fstream>
#include <string>
#include "dico.h"
#include <windows.h> 
#include <set>
 
using namespace std;
 
 
 
void afficheMot(int lettreTrouve[],const char motSecret[], int taille)
{
	for(int i = 0; i < taille; i++)
	{
		if(lettreTrouve[i] == 1)
		{
			cout << motSecret[i];
		}
		else
			cout << " * ";
	}
	cout << endl;
}
 
 
 
 
char lireCaractere()
{
	char caractere = 0;
	caractere = getchar();
	caractere = tolower(caractere);
	while(getchar() != '\n');
	return caractere;
}
 
int rechercheLettre(int lettreTrouve[], const char motSecret[], char maLettre, int taille)
{
	int trouve = 0;
	for(int i = 0; i < taille; i++)
	{
		if(motSecret[i] == maLettre)
		{
			lettreTrouve[i] = 1;
			trouve = 1;
		}
	}
	return trouve;
}
 
int gagne(int lettreTrouve[], int taille)
{
	int somme = 0;
	int gain = 1;
	for(int i = 0; i < taille; i++)
	{
		somme += lettreTrouve[i];
	}
	if(somme == taille)
	gain = 0;
    return gain;
 
}
 
 
int main(void) 
{
	string motSecret, reponse, pseudo; //Déclaration de deux chaines
	int taille = 0; //Initialisation de la taille de mot
	bool jouer = true; //variable bool pour faire une boucle sur le programme
	char maLettre = 0; //Initialisation de la variable ma lettre
	int coupsRestant = 8; //nombre de coups restant
	const char STOP='#';
 
 
	cout << "Entrez votre pseudo" <<endl;
         cin >> pseudo; 
         system("cls");
         cout << "Bienvenue " << pseudo<< " dans le jeu du Pendu ! Voici les lois du jeu du pendu : vous disposez de 8 chances pour trouver le mot caché par des *. Si vous tappez simultanément deux lettres, la seconde ne sera pas prise en compte. Veuillez patienter, le jeu va se lancer automatiquement."  << endl;
system("color f4");
 
         Sleep(10000);
         system ("cls");
         cout<<"Entrer le mot a deviner suivi de "<<STOP<<"."<<endl;
  getline(cin, motSecret, STOP);
 
	while(jouer){
 
		int *lettreTrouve = NULL;
		lettreTrouve = new int[taille];
		const char *motSecret = NULL;
		motSecret = new char[taille+1];
 
		//Initialisation du tableau lettreTrouver
		for(int i = 0; i < taille; i++)
		lettreTrouve[i] = 0;
 
 
 
		while(coupsRestant > 0 && gagne(lettreTrouve, taille))
		{
 
 
 
                    cout << "Il vous reste " << coupsRestant << " essai\n" << endl;
		           	cout << "Quel est le mot secret ? ";
			afficheMot(lettreTrouve, motSecret, taille);
		           	cout << endl;
 
	            	cout << "Proposez une lettre : ";
			maLettre = lireCaractere();
 
 
			         cout << endl;
			if(!rechercheLettre(lettreTrouve, motSecret, maLettre, taille))
			coupsRestant--;
			if(!rechercheLettre(lettreTrouve, motSecret, maLettre, taille))
			cout << "la lettre '" << maLettre << "' ne figure pas dans le mot" << endl;
 
 
        }
		if(!gagne(lettreTrouve, taille))
                     cout << "Bravo " <<pseudo<< ", vous avez trouvé le mot secret " << motSecret << "!"<< endl;
		else
		           	 cout << "Sorry, vous avez perdu " <<pseudo<< " le mot secret etait : " << motSecret << endl;
		coupsRestant = 8;
		             cout << "Souhaitez-vous rejouer (oui ou non)? ";
	               	cin >> reponse;
	               	system ("cls");
		while(reponse != "oui" && reponse != "non" && reponse != "n" && reponse != "o")
		{
                    cout << "Choisissez entre oui et non : ";
		           	cin >> reponse;
		}
		if(reponse == "non" or reponse == "n")
		jouer = false;
	}
} | 
Partager