Partage
  • Partager sur Facebook
  • Partager sur Twitter

bloquer sur un programme debutant.

Modifier la difficulter au jeux: Plus ou moin

Sujet résolu
    17 août 2006 à 21:58:13

    Salut, je suis super content d'avoir reussi a faire le jeux plus ou moin tout seul sans lire la correction, maintenant je suis les conseille de m@teo: Ajouter des fonction au jeux...

    He ben la, j'essaye de modifier la difficulter: Au debut, le programme demande au joueur la difficulter: 1 pour facile, 2 pour moyen et 3 pour difficille.

    He ben si on tape 2 normalemnt, he ben il y a plus de possibilliter de chiffre mistere (1000).

    Le probleme c'est que rien ne change quand je joue, le chiffre mystere est toujours compris entre 1 et 100 au lieu de 1 et 1000...

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

    int main(int argc, char *argv[])
    {
        srand(time(NULL));
        long MAX = 100, MIN = 1;
        const long nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
        long trouve;
        long coup = 1;
        long difficulter = 0;

    /////////// Debut de la fonction \\\\\\\\\\\\\\

    printf("Choississez la difficulter (1=Facile,2=Moyen ou 3=Difficile): ");
    scanf("%dl", &difficulter);
    switch (difficulter)
    {
           case 1:
                printf("\nVous avez choisie difficulter: Facile\n\n");
                break;
           case 2:
                printf("\nVous avez choisie la difficulter: Moyen\n\n");
                MAX *= 10;
                break;
           case 3:
                printf("\nVous avez choisie la difficulter: Difficile\n\n");
                MAX *= 100;
                break;
           default:
                   printf("Le choix de difficulter n'est pas valide");
                   break;
    }
       
        do
        {
                printf("Trouve le nombre mystere: ");
                scanf("%dl", &trouve);
                if (trouve < nombreMystere)
              {
                        printf("Le nombre mystere est plus grand\n");
                        coup++;
              }
              else if(trouve > nombreMystere)
              {
                   printf("Le nombre mystere est plus petit !\n");
                   coup++;
              }
              else
              {
                   printf("\n\n\nBravo, tu as trouver le nombre mystere en %ld coup !", coup);
                   coup++;
              }
             
              printf("\n");
        }        while (trouve != nombreMystere);
       
        //////////////Fin de la fonction\\\\\\\\\\\\\\\
       
        printf("\n\n\n\n\n");
        system("PAUSE");
        return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      17 août 2006 à 21:59:35

      On ne le repetera jamais assez, balise code stp
      • Partager sur Facebook
      • Partager sur Twitter
        17 août 2006 à 22:01:49

        ha oui, scuser moi, mais aussi c'est mon premier message !!!

        comment on fait ?
        • Partager sur Facebook
        • Partager sur Twitter
          17 août 2006 à 22:02:52

          Non Non, pas de citation non plus, il faut lire les règles
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            17 août 2006 à 22:04:48

            Salut,

            C'est sûr avec la balise <code type="c"></code> ca serait plus digeste, penses-y la prochaine fois. ;)

            Pour ce qui est de ton problème de niveau ; ton code est fait pour générer un nombre uniquement compris entre 0 et 100. Il faut que tu lui dises si niveau 2 alors nombre compris entre 0 et 1000, si niveau 3 alors nombre compris entre 0 et 10 000, par exemple.

            Je ne suis pas un expert, j'ai essayé de t'aider, sûrement que d'Autres t'apporteront une meilleure aide.

            Bonne chance.
            • Partager sur Facebook
            • Partager sur Twitter
              17 août 2006 à 22:07:48

              j'ai pas trop compris foxhound...

              j'ai compris que tu voulait dire qui manquait if et else ??

              yen a pas besoin logiquement puisque je fais avec switch...
              • Partager sur Facebook
              • Partager sur Twitter
                17 août 2006 à 22:12:37


                const long nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;


                Tu le génères au début quand MIN et MAX valent 100, donc automatiquement, ton nombre est entre 1 et 100. Met le aprés ton switch donc


                scanf("%dl", &difficulter);


                t'as relu ça ?


                scanf("%dl", &trouve);


                et ça.


                else
                          {
                               printf("\\n\\n\\nBravo, tu as trouver le nombre mystere en %ld coup !", coup);
                               coup++;
                          }


                Mets ton printf aprés ta boucle et inutile de faire un coup++
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  17 août 2006 à 22:12:49

                  Arf, j'ai peur de dire n'importe quoi et tu mettres sur le faux chemin, j'essaye quand même. (pataper)

                  Voila comment j'ai procéder dès le début :

                    const long MAX = 100, MIN = 1;
                    long nombreMystere = 0;
                    srand(time(NULL));
                    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
                   
                    const long MAX2 = 1000, MIN2 = 1;
                    long nombreMystere2 = 0;
                    srand(time(NULL));
                    nombreMystere2 = (rand() % (MAX2 - MIN2 + 1)) + MIN2;
                   
                    const long MAX3 = 10000, MIN3 = 1;
                    long nombreMystere3 = 0;
                    srand(time(NULL));
                    nombreMystere3 = (rand() % (MAX3 - MIN3 + 1)) + MIN3;


                  Et en fonction du niveau choisi, le nombre mystère sera :
                  - soit nombreMystere pour le niveau 1
                  - soit nombreMystere2 pour le niveau 2
                  - soit nombreMystere3 pour le niveau 3
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 août 2006 à 22:20:36

                    merci, sa fonctionne, et aussi merci pour \\\\n, je viens d'apprendre que quand on en aligner 2 sa fesait deux saut de ligne !!!

                    aussi, je comprend pourquoi pas tu cite sa:


                    scanf("%dl", &difficulter);



                    t'as relu ça ?

                    scanf("%dl", &trouve);



                    où est le probleme ??
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      17 août 2006 à 22:22:35

                      tu as mis %dl pas %ld :)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      bloquer sur un programme debutant.

                      × 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