Noter que j'aurais pu écrire le main comme:
Code :
- int main()
- {
- std::srand(std::time(0));
- while (!trouver_lettre(tirage_lettre(), 10) && demande_rejouer());
- return 0;
- }
|
C'est un peu moins lisible, mais ça fait la même chose, en profitant de l'évaluation dans l'ordre du test d'arrêt du while: On joue une nouvelle partie tant qu'on ne trouve pas et qu'on demande de rejouer.
En y repensant, dans ce genre de jeu, on ne veut pas faire deviner deux fois de suite la même lettre, donc:
Code :
- // on tire au hasard une lettre
- char tirage_lettre()
- {
- static char letters[] = "abcdefghijklmnopqrstuvwxyz";
- static char mystere = 0;
- char c;
- // pour éviter deux fois de suite la même lettre mystere
- do {
- c = letters[std::rand() % 26];
- } while (c == mystere);
- mystere = c;
- return mystere;
- }
|
A+,
Message édité par gilou le 03-04-2015 à 23:49:54
---------------
There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! --