dark (et les autres), si t'as (vous avez) rien à faire... La fonction "rejouer" bug : elle se lance, mais elle applique pas les 'return'. Et quand je propose de choisir les chiffres dans le mode à deux joueurs, ca les prend pas en compte.
- include <stdio.h>
- include <stdlib.h>
- include <time.h>
int error()
{
printf(" Desole, ce mode n'existe pas\n\n\n\n\n.");
return (menu());
}
int reJouer()
{
int rejouer = 0, rejouerMode = 0, rejouerDifficulte = 0;
printf(" Rejouer ?\n\n");
printf(" 1. Oui, meme maniere.\n");
printf(" 2. Oui, mais changer de mode et de difficulte.\n");
printf(" 3. Oui, meme mode, mais changer de difficulte.\n");
printf(" 4. Non.\n");
scanf("%d", &rejouer);
switch (rejouer)
{
case 1 :
return (main());
break;
case 2 :
return (menu());
break;
case 3 :
return (difficulte());
break;
case 4 :
return 0;
break;
default :
printf("Hein ?\n");
break;
}
}
int menu()
{
int choixMode = 0;
while (choixMode < 1 || choixMode > 4)
{
printf("+-+ Plus ou Moins -+- :\n\n\n");
printf(" Voulez vous jouer seul ou avec un ami ?\n\n");
printf(" 1 : Un joueur.\n");
printf(" 2 : Deux joueurs.\n\n");
printf(" 3 : Rejouer.\n\n");
printf(" 4: Quitter.\n\n");
scanf("%d", &choixMode);
printf(" \n\n");
if (choixMode < 1 || choixMode > 4)
{
return (error());
}
}
return choixMode;
}
int difficulte()
{
int choixDifficulte = 0;
while (choixDifficulte < 1 || choixDifficulte > 3)
{
printf(" Choix de difficulte :\n\n\n");
printf(" 1 : Entre 1 et 10 : petit bras.\n");
printf(" 2 : Entre 1 et 100 : strategie et chance necessaire.\n");
printf(" 3 : Entre 1 et 1000 : Ca chauffe !\n\n");
scanf("%d", &choixDifficulte);
printf(" \n\n");
if (choixDifficulte < 1 || choixDifficulte > 3)
{
return (error());
}
}
return choixDifficulte;
}
int main(int argc, char *argv[])
{
int nombreEntre = 0, nombreMystere = 0, nombreEssai = 0;
int nombreEntre2 = 0, nombreMystere2 = 0, nombreEssai2 = 0;
int nombreMinimum = 0, nombreMaximum = 0;
const int MAX = 10, MAX2 = 100, MAX3 = 1000, MIN = 1;
switch (menu())
{
case 1:
switch (difficulte())
{
case 1:
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf(" Quel est le nombre mystere ?\n\n");
scanf("%d", &nombreEntre);
nombreEssai += 1;
while (nombreEntre != nombreMystere)
{
if (nombreEntre > nombreMystere)
{
printf(" C'est moins.\n\n");
}
else
{
printf(" C'est plus.\n\n");
}
nombreEssai ++;
scanf("%d", &nombreEntre);
}
if (nombreEntre = nombreMystere)
{
printf(" Bravo ! Tu as trouve en %d coup(s).\n\n\n", nombreEssai);
return (reJouer());
}
break;
case 2:
srand(time(NULL));
nombreMystere = (rand() % (MAX2 - MIN + 1)) + MIN;
printf(" Quel est le nombre mystere ?\n\n");
scanf("%d", &nombreEntre);
nombreEssai += 1;
while (nombreEntre != nombreMystere)
{
if (nombreEntre > nombreMystere)
{
printf(" C'est moins.\n\n");
}
else
{
printf(" C'est plus.\n\n");
}
nombreEssai ++;
scanf("%d", &nombreEntre);
}
if (nombreEntre = nombreMystere)
{
printf(" Bravo ! Tu as trouve en %d coup(s).\n\n\n", nombreEssai);
return (reJouer());
}
break;
case 3:
srand(time(NULL));
nombreMystere = (rand() % (MAX3 - MIN + 1)) + MIN;
printf(" Quel est le nombre mystere ?\n\n");
scanf("%d", &nombreEntre);
nombreEssai += 1;
while (nombreEntre != nombreMystere)
{
if (nombreEntre > nombreMystere)
{
printf(" C'est moins.\n\n");
}
else
{
printf(" C'est plus.\n\n");
}
nombreEssai ++;
scanf("%d", &nombreEntre);
}
if (nombreEntre = nombreMystere)
{
printf(" Bravo ! Tu as trouve en %d coup(s).\n\n\n", nombreEssai);
return (reJouer());
}
break;
}
break;
case 2 :
printf(" Mettez vous d'accord sur les nombres minimum et maximum.\n");
scanf("%d", &nombreMinimum);
scanf("%d", &nombreMaximum);
printf(" Le Nombre Mystere sera compris entre %d et %d.\n\n"), nombreMinimum, nombreMaximum;
printf(" Joueur 1, choisissez votre nombre mystere :\n");
scanf("%d", &nombreMystere2);
printf("
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
\n\n");
printf(" Joueur 2, quel est le nombre mystere ?\n\n");
scanf("%d", &nombreEntre2);
nombreEssai2 += 1;
while (nombreEntre2 != nombreMystere2)
{
if (nombreEntre2 > nombreMystere2)
{
printf(" C'est moins.\n\n");
}
else
{
printf(" C'est plus.\n\n");
}
nombreEssai2 ++;
scanf("%d", &nombreEntre2);
}
if (nombreEntre2 = nombreMystere2)
{
printf(" Bravo ! %d coup(s).\n\n\n", nombreEssai2);
return (reJouer());
}
break;
case 3 :
return (reJouer());
break;
case 4 :
return 0;
break;
default:
return (error());
break;
}
}