Jeu du Plus ou Moins

Fermé
Eddy69 - 25 févr. 2010 à 00:51
Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 - 25 févr. 2010 à 13:34
Bonjour,
Je dois créer un Jeu du Plus ou Moins en C : https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/14828-tp-plus-ou-moins-votre-premier-jeu et je dois l'améliorer :
Lorsque l'utilisateur aura trouvé le nombre mystère, le programme s'arrête. Pourquoi ne pas demander s'il veut faire une autre partie ?
Si vous faites ça, il vous faudra faire une boucle qui englobera la quasi-totalité de votre programme. Cette boucle devra se répéter TANT QUE l'utilisateur n'a pas demandé à arrêter le programme. Je vous conseille de rajouter une variable booléenne "continuerPartie" initialisée à 1 au départ. Si l'utilisateur demande à arrêter le programme, vous mettrez la variable à 0 et le programme s'arrêtera.
Je dois utiliser une variable bouléenne mais la je coince.
Voici mon code :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int main()
{
int nombreMystere = 0, nombreRentre = 0, coups = 0;

printf ("Bienvenue dans le Jeu du Plus ou Moins entierement fabrique en C par Eddy69\n");
printf ("Dans cette variante du Jeu du Plus ou Moins vous devez jouez a 2 joueurs\n");

printf ("Joueur 1 dite au Joueur 2 de ne pas regarder l'ecran !\n");
printf ("Joueur 1 : Quel est le nombre ?\n");
scanf ("%d", &nombreMystere);
system ("cls");
printf ("Joueur 2 c'est a vous : Essayez de devinez le nombre mystere !\n");

do
{
coups++;

printf ("Quel est le nombre ?\n");
scanf ("%d", &nombreRentre);

if (nombreMystere < nombreRentre)
printf ("C'est moins !\n");
else if (nombreMystere > nombreRentre)
printf ("C'est plus !\n");
else
printf ("Bravo Joueur 2 !!! Vous avez trouvez le nombre mystere en %d coups\n", coups);
} while (nombreRentre != nombreMystere);
system ("pause");
return 0;
}

Merci d'avance.



PS : J'ai fais un mode 2 joueur la mais il faudra aussi que je fasse un mode 1 joueur et d'autre amélioration au j'aurais aussi un peut de mal.
A voir également:

8 réponses

Yoan Messages postés 11795 Date d'inscription mardi 1 février 2005 Statut Modérateur Dernière intervention 10 décembre 2023 2 327
25 févr. 2010 à 11:32
Bon, et bien où est le souci ? Le problème est résolu dans le texte que tu as collé il n'y a plus qu'à coder.
Tu as un programme qui permet de jouer une fois :

jeu();


En mettant une boucle infinie autour on va pouvoir jouer une infinité de fois :


while(1)
{
   jeu();
}


Et donc en mettant une boucle conditionnelle plutôt qu'une boucle infinie on doit pouvoir demander au joueur s'il veut recommencer :

int jouerEncore=1;

while(jouerEncore!=0)         // On recommence tant que jouerEncore n'est pas nul
{
   jeu();              // On joue une fois
   printf("Voulez-vous jouer à nouveau ? (1/0) ");
   scanf("%d", &jouerEncore);           // On vérifie si l'utilisateur souhaite à nouveau jouer
}
5