Partage
  • Partager sur Facebook
  • Partager sur Twitter

Amelioration du jeu tp1

Sujet résolu
    7 août 2007 à 14:03:43

    BONJOUR A TOUS,COMMENT ALLEZ-VOUS???

    Bon voila je suis un petit nouveau sur le forum bon bref , je suit les cours de m@teo depuis bien trois semaines mais à mon rythme bien lentement.Et j'ai fait mon premier tp, il fonctionne très bien j'ai fait un mode avec 1 ou 2 joueurs (avec deux modes 2 joueurs, a vous de voir si vous le voulez),et un niveau de difficulté et aussi avec un niveau ou le joueur peux definir le nombre Max... MAIS J'AIMERAIS ENCORE RAJOUTER QUELQUES AMELIORATION MAIS JE N' AI PAS D'IDEE DONC SI VOUS EN AVEZ MERCI DE ME FAIRE PART DES VOTRES(idee de jeu et non de code).MERCI A VOUS TOUS

    Voila mon code

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


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


    do//Boucle do..while pour rejouer ou arreter le Jeu//
    {

    while(modeJoueur > 3)
    {
    printf("\t Mode Joueur\n\n");
    //defini le mode 1 joueur ou 2 joueurs//
    printf("\t 1 Joueur: contre l'ordinateur\n");
    printf("\t 2 Joueurs: deviner le chiffre de l'autre joueur\n");
    printf("\t 2 Joueurs: deviner le chiffre de l'ordinateur\n\n");
    printf("\t Faites votre choix!!!Entre 1 et 3...\n\n");
    scanf("%ld", &modeJoueur);
    }
    do//Boucle do..while pour definir le niveau de difficulté//
    {
    printf("\t Niveaux\n\n");
    printf("\t 1.FACILE : de 0 a 100\n");
    printf("\t 2.MOYEN : de 0 a 1000\n");
    printf("\t 3.DIFFICILE : de 0 a 10 000\n");
    printf("\t 4.PERSONNALISER : Choisi le nombre MAX\n\n");
    printf("\t Faites votre choix!!!\n\n");
    scanf("%ld", &niveau);

    switch(niveau)//switch qui definit le nombre MAX//
    {
    case 1:printf("0 a 100\n");MAX = 100;break;
    case 2:printf("0 a 1000\n");MAX = 1000;break;
    case 3:printf("0 a 10000\n");MAX = 10000;break;
    case 4:printf("entre le chiffre MAX :\n");scanf("%ld", &MAX);break;
    default:
    printf("Mauvais Choix\n");break;
    }
    }while(niveau > 4);//Si le nombre est superieur a 4 la boucle recommence//


    srand (time(NULL));//génère le nombre aléatoire//
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;


    if(modeJoueur == 1)
    //mode 1 joueur: trouver le chiffre de l'ordinateur//
    {
    do
    {
    printf("Entrer un nombre?\n");
    scanf("%ld", &nombreEntre);

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

    else if(modeJoueur == 2)
    //mode 2 joueur: devine le chiffre de l'autre joueur//
    {
    printf("Joueur1: Entrer le nombre Mystere\n");
    scanf("%ld", &nombreMystere);
    system("cls");

    do
    {
    printf("Joueur2: Entrer un nombre?\n");
    scanf("%ld", &nombreEntre);

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


    else
    //mode 2 joueur: celui qui trouve le chiffre en premier//
    {
    while(nombreEntre != nombreMystere)
    {
    printf("Joueur1: Entrer un nombre?\n");
    scanf("%ld", &nombreEntre);

    if(nombreMystere > nombreEntre)
    printf("C'est plus\n\n");
    else if(nombreMystere < nombreEntre)
    printf("c'est moins\n\n");
    else
    printf("BRAVO, vous avez trouver le nombre MYSTERE en %ld coups\n\n", compteur / 2);
    compteur++;

    printf("Joueur2: Entrer un nombre?\n");
    scanf("%ld", &nombreEntre);

    if(nombreMystere > nombreEntre)
    printf("C'est plus\n\n");
    else if(nombreMystere < nombreEntre)
    printf("c'est moins\n\n");
    else
    printf("BRAVO, vous avez trouver le nombre MYSTERE en %ld coups\n\n", compteur / 2);
    compteur++;
    }

    }
    printf(" Voulez-vous rejouer ?\n\n");
    printf(" Touche 1 = Oui\n");
    printf(" Touche 2 = Non\n");
    scanf("%ld", &arret);
    }while(arret == 1);



    return 0;}



    J'ai juste piqué une petite idée dans le forum meme si je ne l'ai pas appris je pense que ça viendras un peu plus tard c'est le premier mode deux joueurs avec le ((system("cls");))...Certain me diront qu 'il est long le code mais je m'en sors a merveille comme ça.
    • Partager sur Facebook
    • Partager sur Twitter
      7 août 2007 à 14:06:29

      Utilise les balises de code pour présenter ton code comme c'est expliqué dans les règles du forum
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        7 août 2007 à 14:06:38

        Mets ton code entre balise specialement faite par un admin ( quand tu ecrit ton message la ou tu choisi gras et tout il y a marquer code et tu choisi C et tu mets ton code entre les balise <ocde></code>
        • Partager sur Facebook
        • Partager sur Twitter
          7 août 2007 à 14:19:24

          Comment comme ça???

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


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

          do//Boucle do..while pour rejouer ou arreter le Jeu//
          {
          while(modeJoueur > 3)
          {
          printf("\t Mode Joueur\n\n");
          //defini le mode 1 joueur ou 2 joueurs//
          printf("\t 1 Joueur: contre l'ordinateur\n");
          printf("\t 2 Joueurs: deviner le chiffre de l'autre joueur\n");
          printf("\t 2 Joueurs: deviner le chiffre de l'ordinateur\n\n");
          printf("\t Faites votre choix!!!Entre 1 et 3...\n\n");
          scanf("%ld", &modeJoueur);
          }
          do//Boucle do..while pour definir le niveau de difficulté//
          {
          printf("\t Niveaux\n\n");
          printf("\t 1.FACILE : de 0 a 100\n");
          printf("\t 2.MOYEN : de 0 a 1000\n");
          printf("\t 3.DIFFICILE : de 0 a 10 000\n");
          printf("\t 4.PERSONNALISER : Choisi le nombre MAX\n\n");
          printf("\t Faites votre choix!!!\n\n");
          scanf("%ld", &niveau);

          switch(niveau)//switch qui definit le nombre MAX//
          {
          case 1:printf("0 a 100\n");MAX = 100;break;
          case 2:printf("0 a 1000\n");MAX = 1000;break;
          case 3:printf("0 a 10000\n");MAX = 10000;break;
          case 4:printf("entre le chiffre MAX :\n");scanf("%ld", &MAX);break;
          default:
          printf("Mauvais Choix\n");break;
          }
          }while(niveau > 4);//Si le nombre est superieur a 4 la boucle recommence//

          srand (time(NULL));//génère le nombre aléatoire//
          nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

          if(modeJoueur == 1)
          //mode 1 joueur: trouver le chiffre de l'ordinateur//
          {
          do
          {
          printf("Entrer un nombre?\n");
          scanf("%ld", &nombreEntre);

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

          else if(modeJoueur == 2)
          //mode 2 joueur: devine le chiffre de l'autre joueur//
          {
          printf("Joueur1: Entrer le nombre Mystere\n");
          scanf("%ld", &nombreMystere);
          system("cls");

          do
          {
          printf("Joueur2: Entrer un nombre?\n");
          scanf("%ld", &nombreEntre);

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

          else
          //mode 2 joueur: celui qui trouve le chiffre en premier//
          {
          while(nombreEntre != nombreMystere)
          {
          printf("Joueur1: Entrer un nombre?\n");
          scanf("%ld", &nombreEntre);

          if(nombreMystere > nombreEntre)
          printf("C'est plus\n\n");
          else if(nombreMystere < nombreEntre)
          printf("c'est moins\n\n");
          else
          printf("BRAVO, vous avez trouver le nombre MYSTERE en %ld coups\n\n", compteur / 2);
          compteur++;

          printf("Joueur2: Entrer un nombre?\n");
          scanf("%ld", &nombreEntre);

          if(nombreMystere > nombreEntre)
          printf("C'est plus\n\n");
          else if(nombreMystere < nombreEntre)
          printf("c'est moins\n\n");
          else
          printf("BRAVO, vous avez trouver le nombre MYSTERE en %ld coups\n\n", compteur / 2);
          compteur++;
          }

          }
          printf(" Voulez-vous rejouer ?\n\n");
          printf(" Touche 1 = Oui\n");
          printf(" Touche 2 = Non\n");
          scanf("%ld", &arret);
          }while(arret == 1);


          return 0;} 
          • Partager sur Facebook
          • Partager sur Twitter
            7 août 2007 à 15:10:10

            Franchement l'indentation est mauvaise donc ton code est pratiquement illisible, vraiment tu est tres fort pour t'y retrouver
            • Partager sur Facebook
            • Partager sur Twitter
              7 août 2007 à 15:35:10

              J'ai déjà vu pire, mais quelqu'un pourrait juste m'aidé pour trouver des amélioration de jeu...

              Merçi
              • Partager sur Facebook
              • Partager sur Twitter
                7 août 2007 à 15:48:11

                Je crois que c'est le max que l'on peut faire pour ce jeu.
                Un mode deux joueur, un niveau de difficulté....
                je ne vois pas mieux désolé. ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  7 août 2007 à 16:03:11

                  Dommage j'été bien lancé, :D
                  mais bon c'est pas grave...
                  je continue les cours de m@teo mais je ne dis toujours pas non pour des idées... ^^

                  Merçi
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    7 août 2007 à 19:34:44

                    C'est illisible ajoute des commentaire ( c'est une bonne habitude a prendre dans tout language de programmation) et IN-DENTE le
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 août 2007 à 19:44:50

                      Je crois que j'ai trouvé un ptit truc, mais sa risque d'etre compliqué et puis bon...

                      En fait,, tu propose un mode addition.
                      Si tu veux, si l'utilisateur choisis ce mode, il va devoir trouver le nombre mystere en donnant deux nombre ou chiffres que le programme additionne.
                      Si ces deux nombres correspondent au nombre mystere alors il a gagné sinon beh réssai.
                      Voilà... ^^
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 août 2007 à 0:27:44

                        Ok messieurs je vais ecouté vos conseils je ferais en sorte de mieux organisés mon code pour que vous puissiez le relire... ;)

                        Merçi, fafmagik pour ton idée je vais faire ça le plus rapidement possible... :)


                        Eh bien c'est bon je l'ai fait tout fonctionne bien et pour rendre les choses plus difficile je n'affiche pas le resultat des deux addition donc au fur et a mesure du jeu il faut essayé de retenir se qu' on fait...Cela fait travaillé la mémoire >_<

                        Voila je vous donne juste ce que je viens de faire je n'ai pas mis de l'ordre dans le reste du code...

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


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

                        //génère le nombre aléatoire//
                        srand (time(NULL));                                               
                        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;


                        do
                        {
                        printf("Entrer un nombre: ");
                        scanf("%ld", &nombre1);

                                      printf("Entrer le deuxieme nombre: ");
                                      scanf("%ld", &nombre2);

                        nombreEntre = nombre1 + nombre2;

                               if(nombreMystere > nombreEntre)
                               printf("C'est plus\n\n");
                                       
                                         else if(nombreMystere < nombreEntre)
                                          printf("c'est moins\n\n");

                        else
                        printf("BRAVO, vous avez trouver le nombre MYSTERE en %ld coups\n\n", compteur);
                        compteur++;


                        }while (nombreEntre != nombreMystere);

                        return 0;
                        }
                        • Partager sur Facebook
                        • Partager sur Twitter
                          8 octobre 2007 à 2:31:15

                          Bonjour Picon bière

                          Juste une remarque sur votre TP:

                          Quand tu joue une deuxième partie le TP il te propose directement le niveau de dificulté au lieu de mode joueur.
                          Donc la deuxième partie tu ne peux pas choisir le mode joueur.
                          Et est inaccessible.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            8 octobre 2007 à 4:44:03

                            J'ai une proposition d'idée à faire basé sur l'idée précedente des additions...

                            Attention : mon idée est assez tordu mais est facile à coder!

                            Le but est simple, imaginons que le nombre à trouver soit 84 (compris entre 1 et 100), on entre un nombre et on vérifie si ce nombre est le nombre à trouver -jusque là rien de nouveau- mais, et c'est là que le style de jeu change, au moment où on entre un deuxième chiffre, celui-ci s'additionne au chiffre entré précedemment et on compare le résultat du calcul et ainsi de suite (sans afficher le résultat pour qu'on sache de part nos calculs où on en est)

                            Exemple concret pour que ce soit plus clair :
                            Le nombre à trouver est 84 (compris entre 1 et 100)
                            -On demande à l'utilisateur de rentrer un nombre (imaginons 55 pour l'exemple)
                            -On s'assure que ce nombre est bien compris entre 1 et 100
                            -On compare ce nombre au nombre à trouver
                            -Si les deux nombres sont pas égaux, on demande un deuxième nombre à l'utilisateur (-4 pour l'exemple)
                            -Le programme fait l'addition entre l'entrée précedente et la nouvelle entrée (on obtient donc 55-4=51)
                            -On s'assure que ce résultat est bien entre 1 et 100 sinon on redemande à nouveau une entrée
                            -Si les deux nombres sont pas egaux, on redemande une entrée (10 pour l'exemple toujours)
                            -Le programme refait le calcul par rapport non pas à l'entrée précedente mais au résultat précedent (51+10=61)
                            -ETC...

                            Le principe est qu'on a tout simplement une variable qu'on modifie en y additionnant les chiffres entrés et on compare cette variable au nombre à trouver (bon j'ai beaucoup détaillé mais c'est juste pour que mon idée soit clairement exprimées)

                            C'est basé sur le principe de ton systéme d'addition précedent, la seule différence est qu'on demande non pas 2 nombres à entrer mais juste un! C'est pas particulièrement difficile à faire non plus! Bonne chance à toi si tu comptes le faire (t'es pas obligé, c'est juste une proposition)!

                            SINON en dehors des idées :

                            Citation : PiconBiere

                            Ok messieurs je vais ecouté vos conseils je ferais en sorte de mieux organisés mon code pour que vous puissiez le relire...



                            Si on te conseille d'indenté ton code mieux, ce n'est pas uniquement pour que nous sur les forums on puisse le lire correctement mais aussi pour toi, il faut prendre l'habitude de bien présenté son code, de le commenter, de l'indenter histoire de le rendre lisible! Pour le moment, le tp1 ne demande pas beaucoup de lignes de code, se fait sur un seul fichier, possède une seule fonction donc t'arrive à t'y retrouver (et encore c'est parce que tu en es l'auteur, pour d'autres c'est illisible), mais quand tu devras te faire des codes qui tiennent sur plusieurs fichiers contenant des centaines de lignes de codes (et encore j'suis vraiment gentil parce que des centaines c'est pas grand chose), si ton code est présente comme celui que t'as envoyé, ce sera impossible de travailler dessus et ça sera source de prise de tête incroyable pour finalement juste un problème de présentation! Donc prend l'habitude dès maintenant de bien présenté ton code et le fait pas juste parce que tu dois le montrer au autres, fait le pour toi, tu pourras qu'en tirer des bonnes choses!
                            • Partager sur Facebook
                            • Partager sur Twitter
                              8 octobre 2007 à 16:28:22

                              Citation : tiliwa

                              Bonjour Picon bière

                              Juste une remarque sur votre TP:

                              Quand tu joue une deuxième partie le TP il te propose directement le niveau de dificulté au lieu de mode joueur.
                              Donc la deuxième partie tu ne peux pas choisir le mode joueur.
                              Et est inaccessible.



                              Je reviens pour ce problème c'est simple pour toi au lieu d'une while seul il faut une do...while placer comme une celle arrêt et rejouer partie.

                              Car je suis débutant j'l' ai essayé ça marche mais à mon sens l'informatique est toujour quelque chose quelque part qui louche...

                              Bon courage a toutes et tous.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Amelioration du jeu tp1

                              × 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