logo Homepage
+  NewbieContest
|-+  Général» Général» Aide Java Mastermind
Username:
Password:
Pages: 1 [2]
  Imprimer  
Auteur Fil de discussion: Aide Java Mastermind  (Lu 11144 fois)
KriKri Noob

Profil challenge

Classement : 11370/54318

Néophyte
*
Hors ligne Hors ligne
Messages: 12


Voir le profil
« #15 le: 01 Mars 2013 à 23:07:37 »

Merci beaucoup je vais essayé de bien comprendre ce que tu as fais, en tous cas sa a l'air plus simple ^^
J'ai un peut de mal avec les tableaux donc les doubles tableaux attendront  

Encore merci Opsse pour ton aide !

J'ai testé plusieurs manière de recommencer la partie mais je n'y arrive pas

Code:
        /* Demande de nouvelle partie en cas de partie gagnée */

             System.out.println(" Partie fini ");
             System.out.println(" REJOUER (tapez 1)");
             Rejouer=Saisie.lire_char();
             System.out.println(" REJOUER "+Rejouer);

             }
        /* Affichage d'une fenetre si le joueur atteint le nombre maximum de tentative */

             if (Compteur_tentative==Nb_coup)
             {
               JFrame frame = new JFrame(" Désolé!!");
             JLabel label = new JLabel(" Tu  n'as réussie à trouver la bonne combinaison !", JLabel.CENTER);
             frame.getContentPane().add(label);
             frame.setSize(300,100);
             frame.setVisible(true);
             
       /* Demande de nouvelle partie en cas de partie perdu */
            System.out.println(" Partie fini ");
            System.out.println(" REJOUER (tapez 1)");
            Rejouer=Saisie.lire_char();
              System.out.println(" REJOUER "+Rejouer);

            }

      /* Relance d'une nouvelle tentative tant que le nombre de tentative maximum n'est pas atteint ou que la partie n'est pas terminé */
          }
          while ((Compteur_tentative!=Nb_coup)||(Rejouer>0));

 }
      /* Relance d'une nouvelle partie si la partie en cour se termine ( gagné ou perdu ) */
while (Rejouer>0);


Code:
        /* Demande de nouvelle partie en cas de partie gagnée */

             System.out.println(" Partie fini ");
             System.out.println(" REJOUER (tapez 1)");
             Rejouer=Saisie.lire_char();
             if (Rejouer==1)
             {
             Nouvelle_partie=true;
             }
             System.out.println(" ll" +Nouvelle_partie);

             }
        /* Affichage d'une fenetre si le joueur atteint le nombre maximum de tentative */

             if (Compteur_tentative==Nb_coup)
             {
               JFrame frame = new JFrame(" Désolé!!");
             JLabel label = new JLabel(" Tu  n'as réussie à trouver la bonne combinaison !", JLabel.CENTER);
             frame.getContentPane().add(label);
             frame.setSize(300,100);
             frame.setVisible(true);
             
       /* Demande de nouvelle partie en cas de partie perdu */
            System.out.println(" Partie fini ");
            System.out.println(" REJOUER (tapez 1)");
            Rejouer=Saisie.lire_char();
            if (Rejouer==1)
             {
             Nouvelle_partie=true;
             }
            }

      /* Relance d'une nouvelle tentative tant que le nombre de tentative maximum n'est pas atteint ou que la partie n'est pas terminé */
          }
          while ((Compteur_tentative!=Nb_coup)||(Nouvelle_partie=true));

 }
      /* Relance d'une nouvelle partie si la partie en cour se termine ( gagné ou perdu ) */
while (Nouvelle_partie=true);



« Dernière édition: 02 Mars 2013 à 00:09:36 par KriKri Noob » Journalisée
Opsse
Profil challenge

Classement : 1833/54318

Néophyte
*
Hors ligne Hors ligne
Messages: 27


Voir le profil
« #16 le: 02 Mars 2013 à 03:29:51 »

Je ne comprend pas pourquoi tu fais un lien entre le résultat de la partie et la nouvelle partie, les deux sont totalement indépendant.

Si j'ai bien compris ce que tu veux faire l'algo ressemble à ca :
Code:
do
.       *initialisation de la partie*
.
.       do
.       .
.       .          *boucle de jeu*
.       .
.       .
.       while(!partie_gagne et compteur_tentative < nb_coup)
.
.       *demander au joueur si il veut rejouer*
.
while(nouvelle_partie) //si c'est un boolean pas besoin de le comparer et encore moins avec un simple '='


PS : beaucoup mieux le nom de tes variables, mais par convention on ne commence pas un variable par une majuscule (ne me demande pas pourquoi ^^).
« Dernière édition: 02 Mars 2013 à 03:42:36 par Opsse » Journalisée
KriKri Noob

Profil challenge

Classement : 11370/54318

Néophyte
*
Hors ligne Hors ligne
Messages: 12


Voir le profil
« #17 le: 02 Mars 2013 à 11:57:03 »

Voila tout marche 
Merci de ton aide Opsse tu m'as été d'un très grand secours 

Code:
  char v, w, x, y, z, V, W, X, Y, Z;
  int Compteur_tentative, bien_place, mal_place, Niv_difficulte, Nb_coup, Rejouer;
  Boolean Nouvelle_partie, Partie_fini;


        System.out.println(" Bienvenue dans ma version de Mastermind ");

do
 {
    /* définition des variables à 0 */

  Nouvelle_partie=false;
  Compteur_tentative=0;
  Nb_coup=0;
  Partie_fini=false;
  Rejouer=0;

    /* définition aléatoire de la combinaison */

         v = (char)('A' + (int)(Math.random()*5));
         w = (char)('A' + (int)(Math.random()*5));
         x = (char)('A' + (int)(Math.random()*5));
         y = (char)('A' + (int)(Math.random()*5));
         z = (char)('A' + (int)(Math.random()*5));
         

         System.out.println(" Code secret = " +v+","+w+","+x+","+y+","+z);

    /* difficulté du jeux qui définie le nombre d'essaie */

    System.out.println(" rentrer une difficulte (1, 2 ou 3)  ");

            Niv_difficulte = Saisie.lire_int();

    switch(Niv_difficulte)
    {
      case 1 :
           Nb_coup = 12;
           break;
      case 2 :
           Nb_coup = 8;
           break;
      case 3 :
           Nb_coup = 5;
           break;
      default:
            Nb_coup = 8;
    }
    System.out.println(" Nombre de tentative : " +Nb_coup);
          do
          {
            /* définition des variables compteur bien_place et mal_place à 0 */

              bien_place=0;
              mal_place=0;

         /* incrément et affichage du compteur de tentative */

               Compteur_tentative++;
               System.out.println(" Tentative numero : " +Compteur_tentative);

           /* Le joueur entre sa combinaison qui s'affiche au fur et à mesure */

            System.out.print(" rentrer lettre 1 : ");
            do
            {
            V=Saisie.lire_char();
            V=java.lang.Character.toUpperCase(V);
            }
            while((V<'A')||(V>'F'));

                System.out.print(" rentrer lettre 2 : ");
                do
                {
                W=Saisie.lire_char();
                W=java.lang.Character.toUpperCase(W);
                }
                while((W<'A')||(W>'F'));

                   System.out.print(" rentrer lettre 3 : ");
                   do
                   {
                   X=Saisie.lire_char();
                   X=java.lang.Character.toUpperCase(X);
                   }
                   while((X<'A')||(X>'F'));

                      System.out.print(" rentrer lettre 4 : ");
                      do
                      {
                      Y=Saisie.lire_char();
                      Y=java.lang.Character.toUpperCase(Y);
                      }
                      while((Y<'A')||(Y>'F'));
         
                         System.out.print(" rentrer lettre 5 : ");
                         do
                         {
                         Z=Saisie.lire_char();
                         Z=java.lang.Character.toUpperCase(Z);
                         }
                         while((Z<'A')||(Z>'F'));

         /* affichage du code saisi */

                         System.out.println(" Code saisi :" +V+","+W+","+X+","+Y+","+Z);

        /* recherche dans la combinaison de lettre bien placé ou mal placé et incrément des compteurs */

               if (v==V)
               {
               bien_place++;
               }
                 else if ((v==W)||(v==X)||(v==Y)||(v==Z))
                 {
                 mal_place++;
                 }

                 if (w==W)
                  {
                   bien_place++;
                  }
                      else if ((w==V)||(w==X)||(w==Y)||(w==Z))
                        {
                        mal_place++;
                        }

                        if (x==X)
                         {
                           bien_place++;
                         }
                            else if ((x==W)||(x==V)||(x==Y)||(x==Z))
                             {
                             mal_place++;
                             }

                              if (y==Y)
                                {
                                 bien_place++;
                                }
                                  else if ((y==W)||(y==X)||(y==V)||(y==Z))
                                  {
                                  mal_place++;
                                  }

                                              if (z==Z)
                                               {
                                               bien_place++;
                                               }
                                                else if ((z==W)||(z==X)||(z==Y)||(z==V))
                                                {
                                                 mal_place++;
                                                }

          /* affichage des compteurs de lettre bien placé et mal placé */

               System.out.println(" Mal place : " +mal_place);
               System.out.println(" Bien place : " +bien_place);

         /* affichage d'une fenetre si le joueur trouve la bonne combinaison */

             if ((v==V)&(w==W)&(x==X)&(y==Y)&(z==Z))
             {
             JFrame frame = new JFrame(" BRAVO!!");
             JLabel label = new JLabel(" Tu as trouvé la bonne combinaison !", JLabel.CENTER);
             frame.getContentPane().add(label);
             frame.setSize(300,100);
             frame.setVisible(true);
             System.out.println(" Partie fini ");
             Partie_fini=true;
             }
        /* Affichage d'une fenetre si le joueur atteint le nombre maximum de tentative */

             if (Compteur_tentative==Nb_coup)
             {
               JFrame frame = new JFrame(" Désolé!!");
             JLabel label = new JLabel(" Tu  n'as réussie à trouver la bonne combinaison !", JLabel.CENTER);
             frame.getContentPane().add(label);
             frame.setSize(300,100);
             frame.setVisible(true);
             System.out.println(" Partie fini ");
             Partie_fini=true;
              }
            } 
  /* Relance d'une nouvelle tentative tant que la partie n'est pas terminé */

            while (!Partie_fini);

      /* Relance de la partie */

           System.out.println(" REJOUER (tapez 1)");
           Rejouer=Saisie.lire_char();
             if (Rejouer==1)
             {
             Nouvelle_partie=true;
             }

  }    /* Relance d'une nouvelle partie si la partie en cour se termine ( gagné ou perdu ) */
while (!Nouvelle_partie);
Journalisée
Opsse
Profil challenge

Classement : 1833/54318

Néophyte
*
Hors ligne Hors ligne
Messages: 27


Voir le profil
« #18 le: 02 Mars 2013 à 19:33:22 »

Pas de problème jeune padawan, que la force de Java soit avec toi xD
Journalisée
Pages: 1 [2]
  Imprimer  
 
Aller à: