Partage
  • Partager sur Facebook
  • Partager sur Twitter

[TP]Comment faire disparaître le nombre entré ?

Sujet résolu
    22 décembre 2005 à 10:00:34

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



    int main(int argc, char *argv[])
    {
       
        long nombreMystere = 0, nombreEntre = 0, continuer = 1 ;
       
        while(continuer)
        {
                    int partie = 1;
       
                    printf("Tapez 0 pour faire une partie solo, 1 pour une partie 2 joueurs\n") ;
                    scanf("%ld", &partie) ;
                         
                    if(!partie)
                    {
                            long niveau = 1 ;
                            printf("Selectionnez un niveau: le niveau 1 genere un nombre compris entre 1 et 10.\nLe niveau 2, un nombre entre 1 et 100, et le niveau 3, un nombre entre 1 et 200.\n") ;
                            scanf("%ld", &niveau) ;
                           
                           
                            if(niveau == 1)
                            {
                                    long max = 10, min = 1;
                                   
                                    srand(time(NULL));
                                nombreMystere = (rand() % (max - min + 1)) + min;
                                
                                    }
                            else if( niveau == 2)
                            {
                                    long max = 100, min = 1;
                                    srand(time(NULL));
                                nombreMystere = (rand() % (max - min + 1)) + min;
                                
                                    }
                                   
                            else if(niveau == 3)
                            {
                                    long max = 200, min = 1;
                                    srand(time(NULL));
                                nombreMystere = (rand() % (max - min + 1)) + min;
                                
                                    }
                            else
                            {
                                    long max = 100, min = 1 ;
                                    srand(time(NULL));
                                nombreMystere = (rand() % (max - min + 1)) + min;
                                
                                    }   

                }
              
               else
               {
                            printf("Entrez le nombre mystere") ;
                            scanf("%ld", &nombreMystere) ;
                            }
                           
               long compteur = 0;
               do
               {
                            compteur++;
                            printf("Quel est le nombre ?") ;
                            scanf("%ld", &nombreEntre) ;
                             
                            if(nombreEntre < nombreMystere)
                            {
                                    printf("C'est plus\n\n");
                                    }
                            else if(nombreEntre > nombreMystere)
                            {
                                    printf("C'est moins\n\n");
                                    }
                            else
                            {
                                    printf("Bien joue, vous avez trouve en %ld coups ! \n\n", compteur) ;
                                    printf("Tapez 1 pour refaire une partie, 0 pour arreter\n\n");
                                    scanf("%ld", &continuer) ;
                                             
                                    }   
            } while(nombreEntre != nombreMystere);
        }
    system("PAUSE");       
    return 0
    }


    J'ai donc tenté les améliorations possibles, mais un problème survient.
    Lorsqu'on est en mode deux joueurs, la première personne entre le nombre mystère, mais celui-ci reste affiché.

    La deuxième personne le voit donc...

    Est-ce que quelqu'un pourrait m'aider, s'il vous plaît ?
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      22 décembre 2005 à 10:02:13

      tu paut utiliser la commande system('CLS') pour éffacer la console, où encore mettre un printf avec plein de "\n" dedans...
      • Partager sur Facebook
      • Partager sur Twitter
        22 décembre 2005 à 10:05:40

        J'ai essayé avec system CLS, et ça marche parfaitement. Merci beaucoup.
        • Partager sur Facebook
        • Partager sur Twitter
          23 décembre 2005 à 1:56:44

          Crevette, plutôt que d'utiliser le
          system("cls");
          , je te conseil de rajouter la libraire conio.h et d'utiliser la fonction
          clrscr();
          cela fait la même chose, mais si je dis pas de connerie(reprend moi M@teo si je dis encore n'importe quoi), clrscr est une fonction portable.
          • Partager sur Facebook
          • Partager sur Twitter
          Mon site internet : http://www.chrissoftware.fr.nf
          Anonyme
            23 décembre 2005 à 8:56:18

            conio.h existe que sous Windows à ma connaissance.
            • Partager sur Facebook
            • Partager sur Twitter
              23 décembre 2005 à 9:57:44

              Alors quelqu'un connait l'équivalent sur Mac ou pas ?
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                23 décembre 2005 à 10:03:14

                Vois du côté de curses comme pour Linux
                http://www.die.net/doc/linux/man/man3/curs_initscr.3.html

                jamais utilisé.

                Edit : ah nan là c'est pas fait pour ça. Nan mais n'efface pas alors.
                • Partager sur Facebook
                • Partager sur Twitter
                  23 décembre 2005 à 10:18:19

                  Ou sinon, je colore en blanc le nombre qu'il a entré mais je ne sais pas comment... ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    24 décembre 2005 à 11:37:36

                    Salut ! Euuuu j'ai un chtit probleme...quand je mets la commande
                    system("cls");

                    baaaa en fait c'est pas que le nombre entré par le joueur qui s'efface mais TOUT ce qu'il y a avant ! Est-ce que quelqu'un pourrait m'aider svp ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 février 2006 à 15:25:54

                      Perso, j'ai aussi améliorer le TP de m@teo avec plusieurs mode de jeu.

                      Je te propose une alternative, devoir trouver un autre nombre mystere que le premier joueur.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        26 février 2006 à 15:41:32

                        Y'a déjà eu pas mal de topic sur ça, et puis cls et coe, "c'est mal".
                        • Partager sur Facebook
                        • Partager sur Twitter

                        [TP]Comment faire disparaître le nombre entré ?

                        × 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