Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème en Java

HELP

    18 octobre 2018 à 22:27:08

    Bonsoir à vous,

    Je souhaite écrire un programme qui comprend deux joueurs, et que chaque joueur lance deux dés.

    Le joueur le plus proche de 7 remportera la partie.

    Mais pour le moment je suis bloquer ici et je n'arrive pas à avancer..

    Si quelqu'un pourrait m'aider ce serait sympa ;) 

    Merci à vous la team :p

    • Partager sur Facebook
    • Partager sur Twitter
      18 octobre 2018 à 23:13:04

      Utilise les balises pour ton code on voit rien dans les screens
      • Partager sur Facebook
      • Partager sur Twitter
        19 octobre 2018 à 0:26:56

        Désolé voici le code :
        public class Joueur {
            int joueur1;
            int joueur2;
            De de1;
            De de2;
        
            public Joueur(int joueur1, int joueur2) {
                this.joueur1 = joueur1;
                this.joueur2 = joueur2;
            }
        
            public int getJoueur1() {
                return joueur1;
            }
        
            public int getJoueur2() {
                return joueur2;
            }
        
            public void setJoueur1(int joueur1) {
                this.joueur1 = joueur1;
            }
        
            public void setJoueur2(int joueur2) {
                this.joueur2 = joueur2;
            }
            
            public int Lancer(){
                joueur1=de1.LancerDe();
                joueur2=de2.LancerDe();
                return joueur1 & joueur2;
            }
            
        }
        /*
         * To change this license header, choose License Headers in Project Properties.
         * To change this template file, choose Tools | Templates
         * and open the template in the editor.
         */
        
        /**
         *
         * @author mmoha
         */
        public class De {
            int dé1;
            int dé2;
        
            public De(int dé1, int dé2) {
                this.dé1 = dé1;
                this.dé2 = dé2;
            }
        
            public int getDé1() {
                return dé1;
            }
        
            public int getDé2() {
                return dé2;
            }
        
            public void setDé1(int dé1) {
                this.dé1 = dé1;
            }
            public void setDé2(int dé2) {
        
                this.dé2 = dé2;
            }
            
            public int LancerDe(){
                dé1 =(int) (Math.random()*5+1);
                dé2 =(int) (Math.random()*5+1);
                return dé1+dé2;
            }
        }
        /*
         * To change this license header, choose License Headers in Project Properties.
         * To change this template file, choose Tools | Templates
         * and open the template in the editor.
         */
        
        
        /**
         *
         * @author mmoha
         */
        public class JeuDé {
        
            /**
             * @param args the command line arguments
             */
            public static void main(String[] args) {
                // TODO code application logic here
                Joueur j1;
                Joueur j2;
                De de1;
                De de2;
                
                System.out.println("Bonjour à vous taper votre numéro de joueur 1 ou 2");
                if(j1==1) {
                    System.out.println("Le joueur 1 lance ses deux dé");
                    de1.LancerDe();
                    System.out.println("Le résultat obtenu pour le joueur 1 après le lancer des deux dés est : "+j1);
                }
                else if(j2==2) {
                    System.out.println("Le joueur 2 lance ses deux dé");
                    de2.LancerDe();
                    System.out.println("Le résultat obtenu pour le joueur 2 après le lancer des deux dés est : "+j1);            
                }
                
            }
        }



        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2018 à 11:26:37

          plusieurs choses : tes variables joueurs et dé ne sont jamais initialisé il faut appeler les constructeur pour ça. Tes variables de type joueurs ne sont jamais utilisées et ne servent pas à grand choses, et pour comparer on utilise pas le == qui sert à comparer les adresses des variable, pour le contenu d'une variable on utilise le ".equals" qui est une méthode de la classe Object à redéfinir. 

          ta classe Dé me parait pas mal, le problème vient du main. 

          Quand tu lances les dés faut que tu récupères les valeurs des lancés de dés dans une variable et que tu compares avec 7 pour savoir qui est le plus proche 

          • Partager sur Facebook
          • Partager sur Twitter
            19 octobre 2018 à 15:15:12

            Bonjour,

            Juste une remarque :

            utiliser des noms de méthode qui commencent par une minuscule

            Sinon pour ton problème :

            soit récupérer les valeurs uniques puis en faire le total et faire la comparaison (justification des getters dans la classe DE)

            soit déclarer un int qui est égale au résultat de la methode dex.lancerDe et faire la comparaison avec ce int (* le x remplace le chiffre)

            soit tout revoir en pensant qu'il n'existe qu'un seul dé qui est utilisé deux fois pour un joueur (éviter la duplication de code), dont la somme des faces est calculée après deux lancés attribués au joueur1, puis faire la comparaison avec deux autres lancés attribués au joueur2.

             Je dis ça je dis rien, ce n'est qu'un avis.

            • Partager sur Facebook
            • Partager sur Twitter
            Arez : la pensée précède l'action

            Problème en Java

            × 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