Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petit problème avec mon jeu

Je ne vois vraiment pas ce que c'est

Sujet résolu
    21 décembre 2005 à 22:09:25

    Bonjour à tous.
    Je suis en train d'améliorer le TP de M@teo (comme beaucoup de monde je suppose^^) mais je rencontre un petit problème pour le compteur de coups.

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


    int main ( int argc, char** argv )
    {
        long nombreMystere = 0, nombreEntre = 0, compteur = 0;
        const long MAX = 100, MIN = 1;


        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        do
        {

            printf("Quel est le nombre ? ");
            scanf("%ld", &nombreEntre);

            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
                compteur++;
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
                compteur++;
            else
                printf ("Bravo, vous avez trouve le nombre mystere en %ld coups !\n\n" , compteur);
    } while (nombreEntre != nombreMystere);

      system("PAUSE");     
      return 0;
    }


    Le compilateur me dit qu'il y a un syntax error avant les deux else (enfin, le premier est un else if^^) et je ne vois absolument pas ce que c'est (et je suis sur que c'est un truc tout con). Merci de bien vouloir m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2005 à 22:16:49

      t'oublies les ac(c?)olades qui vont avec les if et les else ;)
      regarde bien le code de matheo tu verras :-°
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        21 décembre 2005 à 22:20:07

        M@teo n'a pas mis d'accolades
        • Partager sur Facebook
        • Partager sur Twitter
          21 décembre 2005 à 22:26:38

          Ouais bon c'est pas grave en tout cas ça marche...
          Par contre, il ne compte pas le dernier coup, j'essaie de mettre compteur++; avant ou après le printf mais ça marche pas (premier cas : il me met par ex : "C'est moins !" puis il me met le message de fin. deuxième cas : il me met trop de coups)
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            21 décembre 2005 à 22:35:21

            Tu peu le mettre apres le dernier else c'est plus simple !
            • Partager sur Facebook
            • Partager sur Twitter
              21 décembre 2005 à 22:39:01

              J'ai mis compteur++ juste après le scanf et ça marche très bien ;)
              • Partager sur Facebook
              • Partager sur Twitter
                21 décembre 2005 à 22:42:15

                salut

                Moi j'ai fait pareil que Astro-Pépito, je l'ai mit juste en dessous du scanf et c'est niquel :D

                @+
                • Partager sur Facebook
                • Partager sur Twitter
                  21 décembre 2005 à 22:47:58

                  tu n'es pas obligé de mettre d'accolades quand il n'y a qu'une seule instruction dans le if else ou else

                  dans la correction de mateo yavé qu'une seule instruction mais dans ton amélioration il y en a 2 donc accolades obligatoires
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 décembre 2005 à 10:50:46

                    Ouais merci à tous, ça marche nickel.
                    Je risque d'avoir encore des problèmes avec mon jeu puisque je vais encore l'améliorer donc je posterais ici.

                    EDIT : J'ai réussi à faire en plus du compteur de coups le mode deux joueurs et le "truc" pour rejouer (je sais pas comment ça s'appelle^^). Je crois que je vais m'arrêter là parce que pour changer le niveau de difficulté en plus de tout ça ça m'a l'air bien compliqué.
                    Je vais vous donner mon code source et comme ça vous pourrez me dire ce que vous pensez de mon petit jeu

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


                    int main ( int argc, char** argv )
                    {
                        long nombreMystere = 0, nombreEntre = 0, compteur = 0, nbJoueurs = 0, nombreJ2 = 0, continuerPartie = 1;
                        const long MAX = 100, MIN = 1;

                        // Génération du nombre aléatoire

                        srand(time(NULL));
                        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

                       //Menu principal
                    do
                    {
                    system("cls");
                    compteur = 0;
                    printf("Bienvenue dans le jeu du Plus Moins !\n\nPour jouer tout seul tapez 1, Pour jouer a deux tapez 2\n\n");
                    scanf ("%ld", &nbJoueurs);

                    //Partie Solo
                             if (nbJoueurs == 1)
                    {
                    system("cls");
                    printf ("Vous avez choisi de jouer seul.\n\n");

                    do
                    {
                          printf ("Quel est le nombre Mystere ?\n");
                          scanf ("%ld", &nombreEntre);
                          compteur++;
                         
                          if (nombreEntre < nombreMystere)
                          printf ("C'est plus !\n\n");
                          else if (nombreEntre > nombreMystere)
                          printf ("C'est moins !\n\n");
                          else
                          {
                          printf ("Bravo, vous avez trouve le nombre mystere en %ld coups!\n\n" , compteur);
                          printf("Voulez-vous rejouer ? Tapez 1 si oui ou sinon tapez 0\n\n");
                          scanf("%ld" , &continuerPartie);
                          }
                    }while (nombreEntre != nombreMystere);
                    }

                    //Partie Multi-joueurs

                             else if (nbJoueurs == 2)
                             {
                    system("cls");

                    printf ("Vous avez choisi le mode Multi-joueurs\n\n");
                    printf ("Joueur 2, veuillez entrer le nombre Mystere:\n\n");
                    scanf ("%ld", &nombreJ2);
                    system("cls");

                    do
                    {
                           printf ("Joueur 1, quel est le nombre mystere ?:\n\n");
                           scanf ("%ld", &nombreEntre);
                           compteur++;
                           
                           if (nombreEntre < nombreJ2)
                           printf ("C'est plus !\n\n");
                           else if (nombreEntre > nombreJ2)
                           printf ("C'est moins !\n\n");
                           else
                           {
                           printf ("Bravo vous avez trouve le nombre mystere en %ld coups !\n\n" , compteur);
                           printf("Voulez-vous rejouer ? Tapez 1 si oui ou sinon tapez 0\n\n");
                           scanf("%ld" , &continuerPartie);
                           }
                    }while (nombreEntre != nombreJ2);
                    }
                    else
                    {
                    printf("Le nombre entre n'est pas correct !\n\n");
                    printf("Voulez-vous rejouer ? Tapez 1 si oui ou sinon tapez 0\n\n");
                    scanf("%ld" , &continuerPartie);
                    }
                    } while (continuerPartie == 1);
                        system("PAUSE");
                    }
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Petit problème avec mon jeu

                    × 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