Pourquoi mode "2 joueurs" ne marche pas?

Fermé
georgette - 24 nov. 2009 à 20:06
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 - 24 nov. 2009 à 23:13
Bonjour,
je me casse la tête depuis tout à l'heure et je ne vois pas très bien ce qui cloche. Donc enfaite c'est un jeu ou il faut trouver le NOMBRE MYSTERE. Donc mon mode "1 joueur" marche parfaitement mais quand on fait "2 joueurs", et bin le programme se termine alors que je voudrais que le joueur 1 choisisse un NOMBRE MYSTERE et que le joueur 2 doive trouver le NOMBRE MYSTERE donné par le joueur 1.

donc voila mon code :

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
printf ("\n N O M B R E M Y S T E R E \n\n\n");
int choixMenu = 0;
int nombreJoueur = 0;
printf ("Nombre de joueur(s) : \n\n1 . 1 joueur\n2 . 2 joueurs\n\n");
printf ("Combien de joueur(s) ? \n\n");
scanf ("%d", &nombreJoueur);

if (nombreJoueur == 1)
{
printf ("\nNiveau : \n\n1 . Facile\n2 . Normal\n3 . Difficil\n\n");
printf ("Quel niveau de difficulte ?\n\n");
scanf ("%d", &choixMenu);
if (choixMenu == 1)
{
printf ("\nPour trouver le nombre mystere, entrez un nombre entre 1 et 100.\n\n\n");
const int MAX = 100, MIN = 1;
int nombreMystere = 0, score = 0;
srand(time(NULL)); // Initialisation du générateur de nombre aléatoire
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; // Fonction pour choisir nombre aléatoire entre MAX et MIN
int nombre = 0;
while (nombre != nombreMystere)
{
printf ("Quel est le NOMBRE MYSTERE ? \n\n");
scanf ("%d", &nombre);
printf ("\n");
score++;


if (nombre > nombreMystere)
{
printf ("C'est moins!\n\n\n");
}
if (nombre < nombreMystere)
{
printf ("C'est plus!\n\n\n");
}

}
if (nombre = nombreMystere)
{
printf ("Bravo! Vous avez trouve le NOMBRE MYSTERE!\n\nVous avez trouve le NOMBRE MYSTERE en %d coups\n\n", score);
}
}

else if (choixMenu == 2)
{
printf ("\nPour trouver le nombre mystere, entrez un nombre entre 1 et 1000.\n\n\n");
const int MAX = 1000, MIN = 1;
int nombreMystere = 0, score = 0;
srand(time(NULL)); // Initialisation du générateur de nombre aléatoire
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; // Fonction pour choisir nombre aléatoire entre MAX et MIN
int nombre = 0; // Nombre entré par l'utilisateur
while (nombre != nombreMystere)
{
printf ("Quel est le NOMBRE MYSTERE ? \n\n");
scanf ("%d", &nombre);
printf ("\n");
score++;


if (nombre > nombreMystere)
{
printf ("C'est moins!\n\n\n");
}
if (nombre < nombreMystere)
{
printf ("C'est plus!\n\n\n");
}

}
if (nombre = nombreMystere)
{
printf ("Bravo! Vous avez trouve le NOMBRE MYSTERE!\n\nVous avez trouve le NOMBRE MYSTERE en %d coups\n\n", score);
}
}
else if (choixMenu == 3)
{
printf ("\nPour trouver le nombre mystere, entrez un nombre entre 1 et 10000.\n\n\n");
const int MAX = 10000, MIN = 1;
int nombreMystere = 0, score = 0;
srand(time(NULL)); // Initialisation du générateur de nombre aléatoire
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN; // Fonction pour choisir nombre aléatoire entre MAX et MIN
int nombre = 0;// Nombre entré par l'utilisateur
while (nombre != nombreMystere)
{
printf ("Quel est le NOMBRE MYSTERE ? \n\n");
scanf ("%d", &nombre);
printf ("\n");
score++;


if (nombre > nombreMystere)
{
printf ("C'est moins!\n\n\n");
}
if (nombre < nombreMystere)
{
printf ("C'est plus!\n\n\n");
}

}
if (nombre = nombreMystere)
{
printf ("Bravo! Vous avez trouve le NOMBRE MYSTERE!\n\nVous avez trouve le NOMBRE MYSTERE en %d coups\n\n", score);
}
}
if (nombreJoueur == 2)
{
printf ("\nNiveau : \n\n1 . Facile\n2 . Normal\n3 . Difficil\n\n");
printf ("Quel niveau de difficulte ?\n\n");
scanf ("%d", &choixMenu);

if (choixMenu == 1)
{
int nombreMystere = 0, score = 0;
printf ("Joueur 1, choisissez un nombre mystère en 1 et 100\n\n");
scanf ("%d", &nombreMystere);
printf ("\nPour trouver le nombre mystere, entrez un nombre entre 1 et 100.\n\n\n");
int nombre = 0;
scanf ("%d", &nombre);
while (nombre != nombreMystere)
{
printf ("Quel est le NOMBRE MYSTERE ? \n\n");
scanf ("%d", &nombre);
printf ("\n");
score++;


if (nombre > nombreMystere)
{
printf ("C'est moins!\n\n\n");
}
if (nombre < nombreMystere)
{
printf ("C'est plus!\n\n\n");
}

}
if (nombre = nombreMystere)
{
printf ("Bravo! Vous avez trouve le NOMBRE MYSTERE!\n\nVous avez trouve le NOMBRE MYSTERE en %d coups\n\n", score);
}
}

else if (choixMenu == 2)
{
int nombreMystere = 0, score = 0;
printf ("Joueur 1, choisissez un nombre mystère en 1 et 1000\n\n");
scanf ("%d", &nombreMystere);
printf ("\nPour trouver le nombre mystere, entrez un nombre entre 1 et 1000.\n\n\n");
int nombre = 0;
scanf ("%d", &nombre);
while (nombre != nombreMystere)
{
printf ("Quel est le NOMBRE MYSTERE ? \n\n");
scanf ("%d", &nombre);
printf ("\n");
score++;


if (nombre > nombreMystere)
{
printf ("C'est moins!\n\n\n");
}
if (nombre < nombreMystere)
{
printf ("C'est plus!\n\n\n");
}

}
if (nombre = nombreMystere)
{
printf ("Bravo! Vous avez trouve le NOMBRE MYSTERE!\n\nVous avez trouve le NOMBRE MYSTERE en %d coups\n\n", score);
}
}
else if (choixMenu == 3)
{
int nombreMystere = 0, score = 0;
printf ("Joueur 1, choisissez un nombre mystère en 1 et 1000\n\n");
scanf ("%d", &nombreMystere);
printf ("\nPour trouver le nombre mystere, entrez un nombre entre 1 et 1000.\n\n\n");
int nombre = 0;
scanf ("%d", &nombre);
while (nombre != nombreMystere)
{
printf ("Quel est le NOMBRE MYSTERE ? \n\n");
scanf ("%d", &nombre);
printf ("\n");
score++;


if (nombre > nombreMystere)
{
printf ("C'est moins!\n\n\n");
}
if (nombre < nombreMystere)
{
printf ("C'est plus!\n\n\n");
}

}
if (nombre = nombreMystere)
{
printf ("Bravo! Vous avez trouve le NOMBRE MYSTERE!\n\nVous avez trouve le NOMBRE MYSTERE en %d coups\n\n", score);
}


}
}
}
}


Merci d'avance

PS: Je ne veux pas forcement une correction de mon code mais une explication. Merci
A voir également:

2 réponses

nobie-cs Messages postés 155 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 15 mai 2010 17
24 nov. 2009 à 21:36
tu peut bien détailler c'est quoi le problème dans la partie 2joueur. tu peut dire par exemple il t'affiche quoi il boucle ou pas ...
0
Pacorabanix Messages postés 3248 Date d'inscription jeudi 23 août 2007 Statut Membre Dernière intervention 19 mai 2013 660
24 nov. 2009 à 23:13
de plus utilises la balise "code" et non "gras" ;) comme ça les espaces restent, et si nous on copie-colle ton code on aura toujours l'indentation. Ce sera beaucoup plus facile à lire.
0