Partage
  • Partager sur Facebook
  • Partager sur Twitter

[paintComponent] - Comparer couleurs de cercles.

Comparer les couleurs de deux cercles pour un Mastermind.

Sujet résolu
Anonyme
    26 mai 2016 à 10:29:46

    Bonjour à tous,

    Je suis actuellement en dernière année secondaire (Belgique). Pour un travail de fin d'année en programmation, je dois programmer le jeu Mastermind. J'ai actuellement bientôt fini mais il ne me reste que le plus compliqué à mes yeux: comparer la tentative de l'utilisateur à la ligne Résultat.

    Je ne sais pas comment comparer les boules entre elles. Si vous avez besoin de code, n'hésitez pas à me demander mais je ne sais pas, en vous demandant cette aide, celui qui pourrait vous être utile.

    J'espère que ma demande est assez claire et que vous serez dans les capacités de me répondre.

    Merci d'avance ! :)

    • Partager sur Facebook
    • Partager sur Twitter
      26 mai 2016 à 10:38:45

      Salut,

      Tes boules sont représentées comment ? Classes ? String ?

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        26 mai 2016 à 11:04:00

         

        Voici une capture d'écran de l'interface. Les boules sont faites dans un public void paintComponent(Graphics g), avec cette boucle-ci :

        //Boules
                for(int l = 0 ; l<nbLignes ; l++){
                    for(int c = 0; c <nbCol ; c++){
                        g.setColor(colorRep[l][c]);
                        g.fillOval(x+c*50,y+l*50,diam,diam);   
                        g.setColor(Color.BLACK);
                        g.drawOval(x+c*50,y+l*50,diam,diam);
                    }     
                }


        où nbLignes = 4, nbCol = 10 et diam = 40.

        • Partager sur Facebook
        • Partager sur Twitter
          26 mai 2016 à 11:23:12

          Salut.

          Tu pourrais créer une classe Boule, qui aurait comme attribut la couleur de la boule (réprésenté par un enum par exemple). Puis créer une classe Ligne, qui contiendrait 4 objets Boules.

          Tu pourrais donc créer ton objet Ligne objectif, qui contiendrait la ligne à trouver, puis créer un tableau de 10 objets Lignes, représentant les essais.

          Tu pourrais donc à chaque fois comparer les éléments d'une Ligne du tableau aux éléments de la Ligne à trouver.

          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            26 mai 2016 à 12:28:39

            Bonjour!

            Avant de voir ta réponse, j'ai pu avancer et trouver la solution pour la fonction "bien placé". Pour l'instant, j'ai affiché l'endroit où c'est bien placé pour m'aider dans mon code.

            public void valider(){
                    boolean casesRemplies = true;
                    for(int i = 0 ; i<nbCases ; i++){
                        //CASES REMPLIES OU NON ?
                        if(colorRep[tentative][i].equals(Color.WHITE)){
                            casesRemplies = false;
                        } 
                        //BIEN PLACES
                        if(colorRep[tentative][i] == reponses[i]){
                            System.out.println("Bien placé en "+i);
                            bienPlaces++;
                        }                    
                    }  
                    if(casesRemplies){
                        System.out.println("Toutes les cases sont remplies ! ");
                        tentative++;
                    }
                    System.out.println(bienPlaces);
                }

            Il ne reste plus qu'à trouver la façon d'afficher les bonnes couleurs mal placées...

            -
            Edité par Anonyme 26 mai 2016 à 14:39:02

            • Partager sur Facebook
            • Partager sur Twitter

            [paintComponent] - Comparer couleurs de cercles.

            × 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