Partage
  • Partager sur Facebook
  • Partager sur Twitter

Le jeu du plus ou moins

petit problème avec les améliorations

    26 février 2006 à 9:20:29

    Bonjour tout le monde!
    Alors voilà, j'ai suivi les cours de Matéo sur le C/C++ et j'en suis au tp du jeu plus ou moins.
    J'ai réussi a faire le jeu et j'ai aussi réussi a faire simplement l'amélioration pour le nombre de coups mais je n'arrive pas a faire celle pour pouvoir jouer a 2 joueurs.
    Voici mon code :
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>


    int main(int argc, char *argv[])
    {
      //les variables utiliser dans le code 
      long nombreMystere = 0, nombreMystere2 = 0, nombreChoisi = 0, nombreDeCoups = 0, nombreDeJoueurs = 0;
       
      printf("Vous avez decidez de jouer au jeu du plus ou moins ! \n\n");
      // Les règle du jeux pour informer le joueur
      printf("Regles du jeu\n");
      printf("L'ordinateur va tirer au sort un nombre entre 1 et 100\n");
      printf("Il vous demande de deviner le nombre. Vous rentrez donc un nombre entre 1 et 100\n");
      printf("Selon votre réponse,  l'ordinateur vous dira si votre nombre est superieur ou inferieur au nombre choisi.\n");
      printf("Et ainsi de suite, jusqu'a ce que vous ayez trouve le nombre mystere.\n\n");
     
      printf("Combien de joueurs etes-vous ? \n");// demande du nombre de joueurs
      printf("1- 1 joueur\n");
      printf("2- 2 joueurs\n");
      printf("Votre réponse : ");
      scanf("%ld", &nombreDeJoueurs);
      printf("\n");
     
      const long MAX = 100, MIN = 1;//Choix du nombre au hasard par l'ordinateur
           srand(time(NULL));
           nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
           
      switch (nombreDeJoueurs)//la condition pour le nombre de joueur
      {
      case 1 :     
           printf("Vous avez choisi de jouer a 1 joueur.\n\n");
           do
           {
           printf("Quel est le nombre ? ");//code pour le jeu en mode 1 joueur
           scanf("%ld", &nombreChoisi);
     
           if (nombreMystere > nombreChoisi)
           {
           printf("C'est plus ! \n\n");
           nombreDeCoups ++;//incrémentation de la variable pour trouvé le nombre de coups du joueur.
           }
           else if (nombreMystere < nombreChoisi)
           {
           printf("C'est moins ! \n\n");
           nombreDeCoups ++;
           }
           else
           {
           nombreDeCoups ++;
           printf("Bravo, vous avez trouve le nombre mystere en %ld coups! \n\n", nombreDeCoups);
           }
           }
           while (nombreChoisi != nombreMystere);
           break;
      case 2 :
           printf("Vous avez choisi de jouer a 2 joueurs.\n");//code pour le jeu en mode 2 joueurs
           printf("Joueur 1, choisissez un nombre entre 1 et 100 : ");
           scanf("%ld", &nombreMystere2);
           printf("\n");
           
           do
           {
           printf("Quel est le nombre ? ");
           scanf("%ld", &nombreChoisi);
     
           if (nombreMystere2 > nombreChoisi)
           {
           printf("C'est plus ! \n\n");
           nombreDeCoups ++;
           }
           else if (nombreMystere2 < nombreChoisi)
           {
           printf("C'est moins ! \n\n");
           nombreDeCoups ++;
           }
           else
           {
           nombreDeCoups ++;
           printf("Bravo, vous avez trouve le nombre mystere en %ld coups! \n\n", nombreDeCoups);
           }
           }
           while (nombreChoisi != nombreMystere);
           break;
      default :
           printf("Entrer un chiffre valide");
      }
     
      system("PAUSE");     
      return 0;
    }


    Voilà si quelqu'un pouvait m'aider sa serai sympa. Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      26 février 2006 à 10:27:24

      C'est dans ton while tu as mis:

      while (nombreChoisi != nombreMystere);

      il faut mettre:

      while (nombreChoisi != nombreMystere2);
      • Partager sur Facebook
      • Partager sur Twitter
        26 février 2006 à 11:13:47

        A oui quel erreur j'en reviens pas lol!
        merci beaucoup.

        Edit : j'ai une autre question :
        Quand le joueur 1 entre le nombre on demande en suite au joueur 2 de le rechercher mais, le joueur peut voir le nombre qu'a entre le joueur 1. Comment faire pour ne pas qu'il puisse le voir ?
        • Partager sur Facebook
        • Partager sur Twitter
          26 février 2006 à 11:20:14

          Tu sautes plein de lignes :p
          • Partager sur Facebook
          • Partager sur Twitter
            26 février 2006 à 12:06:44

            Je te conseil de refaire ton programme et d'utilisé les fonctions parce que la tu a presque fait du copier coller en les 2 modes. Si ton programme marche t'en mieu mais rien que la présentation c'est moyen et image tu veux rajouter par la suite un fichier text qui retient le minimum de coup pour trouver le nombre tu va devoir refaire ton code deux fois et donc 2fois plus de chance de te planter
            • Partager sur Facebook
            • Partager sur Twitter
              26 février 2006 à 13:39:28

              Salut !

              Je te conseille de sauter, déjà, des lignes et d'indenter ton code (Style Allman :-° )car à force on ne s'y retrouve plus.

              Après ton erreur est toute bête :
              Indice : tu utilises 2 variables pour stocker le nombre mystère pourquoi pas une ?

              Cherche et après regarde ce code :D

              Code corrigé :

              Secret (cliquez pour afficher)
              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>


              int main(int argc, char *argv[])
              {
                  //les variables utiliser dans le code
                  long nombreMystere = 0, nombreChoisi = 0, nombreDeCoups = 0, nombreDeJoueurs = 0;

                  printf("Vous avez decidez de jouer au jeu du plus ou moins ! \n\n");
                  // Les règle du jeux pour informer le joueur
                  printf("Regles du jeu\n");
                  printf("L'ordinateur va tirer au sort un nombre entre 1 et 100\n");
                  printf("Il vous demande de deviner le nombre. Vous rentrez donc un nombre entre 1 et 100\n");
                  printf("Selon votre réponse,  l'ordinateur vous dira si votre nombre est superieur ou inferieur au nombre choisi.\n");
                  printf("Et ainsi de suite, jusqu'a ce que vous ayez trouve le nombre mystere.\n\n");

                  printf("Combien de joueurs etes-vous ? \n");// demande du nombre de joueurs
                  printf("1- 1 joueur\n");
                  printf("2- 2 joueurs\n");
                  printf("Votre réponse : ");
                  scanf("%ld", &nombreDeJoueurs);
                  printf("\n");

                  const long MAX = 100, MIN = 1;//Choix du nombre au hasard par l'ordinateur
                  srand(time(NULL));
                  nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

                  switch (nombreDeJoueurs)//la condition pour le nombre de joueur
                  {
                      case 1 :
                          printf("Vous avez choisi de jouer a 1 joueur.\n\n");
                          do
                          {
                              printf("Quel est le nombre ? ");//code pour le jeu en mode 1 joueur
                              scanf("%ld", &nombreChoisi);

                              if (nombreMystere > nombreChoisi)
                              {
                                  printf("C'est plus ! \n\n");
                                  nombreDeCoups ++;//incrémentation de la variable pour trouvé le nombre de coups du joueur.
                              }
                             
                              else if (nombreMystere < nombreChoisi)
                              {
                                  printf("C'est moins ! \n\n");
                                  nombreDeCoups ++;
                              }
                             
                              else
                              {
                                  nombreDeCoups ++;
                                  printf("Bravo, vous avez trouve le nombre mystere en %ld coups! \n\n", nombreDeCoups);
                              }
                             
                          } while (nombreChoisi != nombreMystere);
                          break;

                      case 2 :
                          printf("Vous avez choisi de jouer a 2 joueurs.\n");//code pour le jeu en mode 2 joueurs
                          printf("Joueur 1, choisissez un nombre entre 1 et 100 : ");
                          scanf("%ld", &nombreMystere);
                          printf("\n");

                          do
                          {
                              printf("Quel est le nombre ? ");
                              scanf("%ld", &nombreChoisi);

                              if (nombreMystere > nombreChoisi)
                              {
                                  printf("C'est plus ! \n\n");
                                  nombreDeCoups ++;
                              }
                             
                              else if (nombreMystere < nombreChoisi)
                              {
                                  printf("C'est moins ! \n\n");
                                  nombreDeCoups ++;
                              }
                             
                              else
                              {
                                  nombreDeCoups ++;
                                  printf("Bravo, vous avez trouve le nombre mystere en %ld coups! \n\n", nombreDeCoups);
                              }
                             
                          } while (nombreChoisi != nombreMystere);
                          break;
                         
                      default :
                          printf("Entrer un chiffre valide");
                  }

                  return 0;
              }


              C'est quand même plus lisible non ? ;)
              Voila en espérant t'avoir aidé pour ton problème

              Kr00pS.
              • Partager sur Facebook
              • Partager sur Twitter

              Le jeu du plus ou moins

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown