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
| #include <stdio.h>
#include <stdlib.h>
#include <time.h>
//déclaration des fonctions secondaires
int YourNumb(const int MIN, const int MAX);
int TestNumb(int myNumb, const int nbrMystere);
void ScoreTab(const int nbrMystere, int compteur);
void GameMstBox(const int MIN, const int MAX);
// ==================== FONCTION MAIN ====================
int main() {
//declaration des constantes
const int MIN = 0, MAX = 100;
//initialisation du générateur de nombre aléatoire
srand(time(NULL));
//début de la partie
GameMstBx(MIN, MAX);
//fin du programme
return 0;
}
// ==================== FONCTION SECOND ====================
// fonction demandant la réponse
int YourNumb(const int MIN, const int MAX) {
char retourCl[10 + 1];
int myNumb, status;
while (1)
{
fputs("Entrez un nombre entre 0 et 100 : ", stdout);
fgets(retourCl, 10 + 1, stdin);
status = sscanf(retourCl, "%d", &myNumb);
// "if" casse la boucle, si ses conditions sont remplies
if (status == 1 && myNumb >= MIN && myNumb <= MAX) break;
fputs("Entrée incorrect - Entrez un nombre compris entre 0 et 100!", stdout);
}
return myNumb;
}
//fonction donnant un indice
int TestNumb(int myNumb, const int nbrMystere) {
if (myNumb < nbrMystere)
{
fputs("C'est plus!", stdout);
return 0;
}
else if (myNumb > nbrMystere)
{
fputs("C'est moins!", stdout);
return 0;
}
else
{
fputs("Bravo! vous avez trouvez le nombre mystère", stdout);
return 1;
}
}
//fonction affichant le résultat du joueur
void ScoreTab(const int nbrMystere, int compteur) {
fputs("===== RESULTAT DE PARTIE =====\n", stdout);
printf("Le nombre mystère était : %d \n", nbrMystere);
printf("Nombre de tour: %d \n", compteur);
}
//fonction commençant la partie
void GameMstBx(const int MIN,const int MAX) {
// playerAnswer - variable stockant la réponse du joueur
// nbrMystere - variable stockant le nombre généré aléatoirement
int playerAnswer, nbrMystere;
// gameWin - variable définissant la condition du jeux (1 = gagné)
// compteur - variable comptant le nombre de tour
int gameWin = 0, compteur = 0;
//attribution d'un nombre généré aléatoirement
nbrMystere = (rand() % (MAX - MIN + 1)) + MIN;
//boucle de partie
do
{
//compte le nombre de tour
compteur++;
//fonction récupérant la réponse du joueur
playerAnswer = YourNumb(MIN, MAX);
//fonction testant la réponse du joueur
gameWin = TestNumb(playerAnswer, nbrMystere);
} while (gameWin == 0);
// fonction affichant les résultats de partie
ScoreTab(nbrMystere, compteur);
} |
Partager