|
|
|
|
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
long nombreMystere = 0, nombreEntre = 0, coup = 0, menu = 0, choix = 0, compteur = 0, boucle = 0;
const long MAX = 100, MIN = 1;
printf("\t\t==============================================\n\t\t==== Bienvenu au jeu du ''Plus ou moins'' ====\n\t\t==============================================\n\n");
printf("\t\t\t\t-------------------\n\t\t\t\t--- Instruction ---\n\t\t\t\t-------------------\n\n\n\nLe but de ce jeu est de trouver le chiffre entre 1 et 100 qui a ete aleatoirement choisi par l'ordinateur.");
while (boucle = 1)
{
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf("\n\nNiveau : \n\n1. Facile : Trouvez le chiffre mystere en 20 coup maximum\n\n2. Moyen : Trouvez le chiffre mystere en 15 coup maximum\n\n3. Difficile : Trouvez le chiffre mystere en 10 coup maximum \n\n Quelle niveau desirez-vous ? ");
scanf("%ld", &menu);
switch (menu)
{
case 1 :
while (compteur <= 20)
{
compteur++;
printf("\nQuelle est le chiffre mystere ? ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
{
printf("\n\t ***Et non ces plus***\n");
}
else if (nombreEntre > nombreMystere)
{
printf("\n\t ***Et non ces moin***\n");
}
else
{
printf("\n________________________________________________________________________________\n");
printf("\n\n\t**** Woaw bien joue, le nombre mystere etait %ld ****", nombreEntre);
printf("\n\n\t\t**** Tu as reussi en %ld essais ****", compteur);
break;
}
}
case 2 :
while (compteur <= 15)
{
compteur++;
printf("\nQuelle est le chiffre mystere ? ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
{
printf("\n\t ***Et non ces plus***\n");
}
else if (nombreEntre > nombreMystere)
{
printf("\n\t ***Et non ces moin***\n");
}
else
{
printf("\n________________________________________________________________________________\n");
printf("\n\n\t**** Woaw bien joue, le nombre mystere etait %ld ****", nombreEntre);
printf("\n\n\t\t**** Tu as reussi en %ld essais ****", compteur);
break;
}
}
case 3 :
while (compteur <= 10)
{
compteur++;
printf("\nQuelle est le chiffre mystere ? ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
{
printf("\n\t ***Et non ces plus***\n");
}
else if (nombreEntre > nombreMystere)
{
printf("\n\t ***Et non ces moin***\n");
}
else
{
printf("\n________________________________________________________________________________\n");
printf("\n\n\t**** Woaw bien joue, le nombre mystere etait %ld ****", nombreEntre);
printf("\n\n\t\t**** Tu as reussi en %ld essais ****", compteur);
break;
}
}
printf("\n\ndesirez-vous faire une nouvelle partie ? ?\n\n1. Oui\n2. Non\n\nVotre choix : ");
scanf("%ld", &boucle);
if (boucle == 1)
{
printf("\n\nQuelle niveau desirez-vous ? ");
printf("\n\n");
}
if (boucle != 1)
{
printf("\n\n Merci d'avoir joue avec moi, a plus tard pour d'autre test");
printf("\n\n=== by rainmaker ===");
printf("\n\n");
system("PAUSE");
return 0;
}
}
}
system("PAUSE");
return 0;
}
Configuration: Windows XP Firefox 2.0.0.6
Salut à toi RainMaker,
Le problème que tu as est simple. Tu as créé une boucle pour chaque niveau (While compteur <= 20) et lorsque le joueur trouve le nombre, la variable compteur remplie forcément la condition de la boucle. il faut donc que tu donne une valeur supérieur à 20 (moi j'ai mis 999 mais 21 suffit) à ta variable compteur après avoir affiché le message de fin de partie(partie gagnée). Puis, lorsque tu réaffiche le message de sélection de niveau après que le joueur ai accepter de rejouer, il faut réinitialiser la variable compteur à 0. Voilà ton code modifié et corrigé :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
long nombreMystere = 0, nombreEntre = 0, coup = 0, menu = 0, choix = 0, compteur = 0, boucle = 0;
const long MAX = 100, MIN = 1;
printf("\t\t==============================================\n\t\t==== Bienvenu au jeu du ''Plus ou moins'' ====\n\t\t==============================================\n\n");
printf("\t\t\t\t-------------------\n\t\t\t\t--- Instruction ---\n\t\t\t\t-------------------\n\n\n\nLe but de ce jeu est de trouver le chiffre entre 1 et 100 qui a ete aleatoirement choisi par l'ordinateur.");
while (boucle = 1)
{
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf("\n\nNiveau : \n\n1. Facile : Trouvez le chiffre mystere en 20 coup maximum\n\n2. Moyen : Trouvez le chiffre mystere en 15 coup maximum\n\n3. Difficile : Trouvez le chiffre mystere en 10 coup maximum \n\n Quelle niveau desirez-vous ? ");
scanf("%ld", &menu);
switch (menu)
{
case 1 :
while (compteur <= 20)
{
compteur++;
printf("\nQuelle est le chiffre mystere ? ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
{
printf("\n\t ***Et non ces plus***\n");
}
else if (nombreEntre > nombreMystere)
{
printf("\n\t ***Et non ces moin***\n");
}
else
{
printf("\n________________________________________________________________________________\n");
printf("\n\n\t**** Woaw bien joue, le nombre mystere etait %ld ****", nombreEntre);
printf("\n\n\t\t**** Tu as reussi en %ld essais ****", compteur);
compteur =999;
break;
}
}
case 2 :
while (compteur <= 15)
{
compteur++;
printf("\nQuelle est le chiffre mystere ? ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
{
printf("\n\t ***Et non ces plus***\n");
}
else if (nombreEntre > nombreMystere)
{
printf("\n\t ***Et non ces moin***\n");
}
else
{
printf("\n________________________________________________________________________________\n");
printf("\n\n\t**** Woaw bien joue, le nombre mystere etait %ld ****", nombreEntre);
printf("\n\n\t\t**** Tu as reussi en %ld essais ****", compteur);
compteur=999;
break;
}
}
case 3 :
while (compteur <= 10)
{
compteur++;
printf("\nQuelle est le chiffre mystere ? ");
scanf("%ld", &nombreEntre);
if (nombreEntre < nombreMystere)
{
printf("\n\t ***Et non ces plus***\n");
}
else if (nombreEntre > nombreMystere)
{
printf("\n\t ***Et non ces moin***\n");
}
else
{
printf("\n________________________________________________________________________________\n");
printf("\n\n\t**** Woaw bien joue, le nombre mystere etait %ld ****", nombreEntre);
printf("\n\n\t\t**** Tu as reussi en %ld essais ****", compteur);
compteur=999;
break;
}
}
printf("\n\ndesirez-vous faire une nouvelle partie ? ?\n\n1. Oui\n2. Non\n\nVotre choix : ");
scanf("%ld", &boucle);
if (boucle == 1)
{
compteur=0;
printf("\n\nQuelle niveau desirez-vous ? ");
printf("\n\n");
}
if (boucle != 1)
{
printf("\n\n Merci d'avoir joue avec moi, a plus tard pour d'autre test");
printf("\n\n=== by rainmaker ===");
printf("\n\n");
system("PAUSE");
return 0;
}
}
}
system("PAUSE");
return 0;
}
Voilà c'est un bug qui n'est pas forcément visible dès le premier coup d'oeil Voilà j'espère que mes explications sont claires. @+ Merci à tous. M@xwells M@ni@c. Acceptons la vie comme elle est. |
tres bon code bien presenter instancier
doux l'importance d'avoir un code claire et detaillier pour voir les bugs possible bye bye |
| 09/08 14h05 | [Multimédia] Faire une capture vidéo de l'écran | Multimédia |
| 05/12 08h52 | Configuration recommandée pour Windows Vista | Windows Vista |
| 28/12 21h05 | Faire fonctionner vista sur une petite configuration Materielle | Windows |
| 07/03 18h43 | Les collaborations public/privé | e-veille et R&D |
| 19/07 20h00 | CPU Limited | Carte graphique |
| 26/07 16h35 | Comment mettre un mini jeu de rapidité sur bl | 0 |
| 30/06 11h39 | Comment mettre un mini-jeux en xml ??? | 0 |
| 28/06 16h20 | Créer un mini jeu | 1 |
| 10/06 20h19 | Comment gagner mini jeu Harry Potter sur DS ? | 2 |
| 20/04 18h20 | Faire des petit jeux comme miniclip | 4 |
![]() | Cool player - Coolplayer est un lecteur audio libre possédant les caractéristiques suivantes : Sous licence GNU GPL Skinnable ... | Catégorie: Lecteurs audio Licence: Open Source |
![]() | Caméléon - Tel le mimétisme du Caméléon, la stéganographie (qui vient du grec steganos, couvert et graphein, écriture et que l’on peut... | Catégorie: Chiffrement Licence: Freeware/gratuit |
![]() | Minilyrics - La plupart des lecteurs audio ne supporte pas les paroles de chansons. Ils ne permettent pas d'afficher les dites "lyrics"... | Catégorie: Audio Licence: Freeware/gratuit |
![]() | CULTIX - Cultix 2.0 est un logiciel sous forme de jeu qui permet d’enrichir le niveau de culture générale. Il propose une affirmation... | Catégorie: Bureautique Licence: Freeware/gratuit |
![]() | MobyMemory High-Speed 2 Go | Catégorie: Carte Mémoire / Clé USB | |
![]() | Apple Mac Mini Intel | Catégorie: Ordinateur de bureau | 476.00 € PriceMinister |
![]() | MisterGoodDeal Mini SD Card | Catégorie: Carte Mémoire / Clé USB | |
![]() | MisterGoodDeal Mini SD Card | Catégorie: Carte Mémoire / Clé USB |