diff --git a/main.cpp b/main.cpp index dfa1f47..6e961b5 100644 --- a/main.cpp +++ b/main.cpp @@ -25,6 +25,7 @@ int main() { bool quitter = false; //Quitter le jeu int nbMot3lettre = 15; //Nombre de mot présent dans le fichier int temp = 0; //TODO: Variable temporaire + int nbLettre = 3; string motRandom; // Mot random while (quitter == false) { @@ -42,7 +43,8 @@ int main() { system("cls"); //background(temp); - effectuerTour(); + + effectuerTour(nbLettre); break; case '2': diff --git a/mesFonctions.cpp b/mesFonctions.cpp index f41e567..fb81584 100644 --- a/mesFonctions.cpp +++ b/mesFonctions.cpp @@ -104,8 +104,10 @@ string goToLine(fstream& monFlux, int numeroLigne) {//g return mot; } -void effectuerTour() +void effectuerTour(int nbLettre) { + HANDLE hconsole = GetStdHandle(STD_OUTPUT_HANDLE);//pour la couleur + string motRandom = choisirMot("Mots/mot3lettres.txt", 15); cout << setw(83) << "=============================================\n"; @@ -114,36 +116,51 @@ void effectuerTour() for (int nbTentative = 0; nbTentative < 6; nbTentative++) { - do - { + do { cout << setw(65) << "Tentative #" << nbTentative + 1 << endl; cout << setw(69) << "Saisir votre mot : "; cin >> motPlayer; - } while (motPlayer.length() == 3); + } while (motPlayer.length() != nbLettre); - if (dansListe(motPlayer)) - { - cout << "\nto continue\n"; - //NE PAS EFFACER - //if (motRandom[0] == motPlayer[0]) - //else if (motRandom[0] == motPlayer[1] || motPlayer[2]) + if (dansListe(motPlayer)) { + cout << setw(66) << "Votre mot est : " << motPlayer << endl; + + for (int i = 0; i < nbLettre; i++) { + + if (motRandom[i] == motPlayer[i]) { + + SetConsoleTextAttribute(hconsole, 2);//mettre la lettre en vert + cout << motPlayer[i]; + SetConsoleTextAttribute(hconsole, 15);//remettre le texte en blanc + } + else if (lettreDansMot(motRandom, motPlayer, nbLettre)) { + + SetConsoleTextAttribute(hconsole, 6);//mettre la lettre en vert + cout << motPlayer[i]; + SetConsoleTextAttribute(hconsole, 15);//remettre le texte en blanc + + } + else { + + SetConsoleTextAttribute(hconsole, 8);//mettre la lettre en vert + cout << motPlayer[i]; + SetConsoleTextAttribute(hconsole, 15);//remettre le texte en blanc + } + } + cout << endl; } - else - { - cout << setw(58) << "\nMot n'est pas dans la liste\n"; + else { + cout << setw(66) << "Votre mot est : " << motPlayer; + cout << endl << setw(75) << "Mot n'est pas dans la liste\n\n"; nbTentative--; } } - - - - cout << setw(66) << "Votre mot est : " << motPlayer; } -bool dansListe(string motPlayer) -{ +bool dansListe(string motPlayer) { + fstream monFlux; ouvrirFichier(monFlux, "Mots/mot3lettres.txt"); @@ -162,6 +179,21 @@ bool dansListe(string motPlayer) } +bool lettreDansMot(string motRandom, string motPlayer, int nbLettre) { + + for (int i = 0; i < nbLettre; i++) { + for (int k = 0; k < nbLettre; k++) { + if ((motRandom[i] == motPlayer[k]) && (motRandom[i] != motPlayer[i])) { + return true; + } + else { + return false; + } + } + } +} + + /*==================================== diff --git a/mesFonctions.h b/mesFonctions.h index 5647e2e..65e2a7e 100644 --- a/mesFonctions.h +++ b/mesFonctions.h @@ -32,6 +32,7 @@ void backgroundDefault(); string choisirMot(string nomFichier, int maximum); string goToLine(fstream& monFlux, int numeroLigne); -void effectuerTour(); +void effectuerTour(int nbLettre); bool dansListe(string motPlayer); -bool comparerMot(fstream& monFlux, string motPlayer, int numeroLigne); \ No newline at end of file +bool comparerMot(fstream& monFlux, string motPlayer, int numeroLigne); +bool lettreDansMot(string motRandom, string motPlayer, int nbLettre); \ No newline at end of file