IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

aide projet Mastermind


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2008
    Messages : 101
    Par défaut aide projet Mastermind
    Bonjours a tous
    Bon voila je suis entrain de travailler sur un mini projet concernant le jeux mastermind.
    Les classes que j'ai créer sont : Indication, Suite, StdInput et un main que j'ai appelé Mastermind.
    Le probleme que j'ai est au niveau du main, plus précisément au niveau d'une méthode que j'ai appelé play(). Voici son codage:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public static void play() throws IOException{
     
    		Suite S1=Suite.genererSecret();
    		System.out.println("J'ai choisi une suite de 4 nombres\nAvous de deviner");
    		int i=0;
    		for(i=0; i<8; i++){
    			System.out.println("Essaie Numero"+i+" :");
    			System.out.println("saisissez Votre choix :");
    			Suite S2=new Suite(Integer.parseInt(StdInput.readline()));
    			S2.toString();
    			Indication indication=S1.compare(S2);
    			indication.toString();
     
    			if(indication.nbBienPlaces==4)
    				System.out.println("nbBienPlacesous avez gagner avec un nombre dessaie"+i);
     
    			else
    				indication.toString();
     
    			if(i==8)
    				System.out.println("dsl Vous avez perdu!!");
     
    		}
    	}
    Le soucis c'est que lors de l'exécution, au moment du teste, il me sort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Que desirez vous faire:
    	# Jouer contre l'ordinateur....1
    	# Quitter......................2
    1
    J'ai choisi une suite de 4 nombres
    Avous de deviner
    Essaie Numero0 :
    saisissez Votre choix :
    1234
    Essaie Numero1 :
    saisissez Votre choix :
    en principe je doit avoir les indications mais celle la n'aparesse pas
    merci pour votre aide

  2. #2
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    ça serait sympa si tu mettais les balises code(#) dans l'editeur ou encadrant ton code.

    en principe je doit avoir les indications mais celle la n'aparesse pas
    Ou est ce que tu affiches les indications et ça n'apparait pas?
    C'est avec ça que tu affiches les indications ?

    ou plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.printon(indication.toString());
    ?
    @+

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2008
    Messages : 101
    Par défaut
    Oui merci bcp pour l'indication. C'est la premiére fois que j'utulise ce site pour poster quelque chose
    bon voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public static void play() throws IOException{
     
    Suite S1=Suite.genererSecret();
    System.out.println("J'ai choisi une suite de 4 nombres\nAvous de deviner");
    int i=0;
    for(i=0; i<8; i++){
    System.out.println("Essaie Numero"+i+" :");
    System.out.println("saisissez Votre choix :");
    Suite S2=new Suite(Integer.parseInt(StdInput.readline()));
    S2.toString();
    Indication indication=S1.compare(S2);
    indication.toString();
     
    if(indication.nbBienPlaces==4)
    System.out.println("nbBienPlacesous avez gagner avec un nombre dessaie"+i);
     
    else
    indication.toString();
     
    if(i==8)
    System.out.println("dsl Vous avez perdu!!");
     
    }
    }

  4. #4
    Membre expérimenté

    Avatar de mlny84
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4 023
    Par défaut
    Merci pour les balises
    Mais tu as répété la méthode play() que tu avais mise dans ton premier post.
    Peux-tu donner ta classe Indication et aussi ta classe Suite dans le cas où elle diffère de m_elkhaldi01 ? Merci.

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2008
    Messages : 101
    Par défaut
    Oui, je pense qu'on travaille sur le meme projet!!
    bon je te poste mes classe.
    Code de la calsse Suite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    import java.lang.Math;
    public class Suite {
    	private int c1;
    	private int c2;
    	private int c3;
    	private int c4;
     
    	public Suite(int a, int b, int c, int d){
    		a= c1;
    		b= c2;
    		c= c3;
    		d= c4;
     
    	}
     
    	public Suite(int N){
    		/*if ((N<999)&&(N>6666)){
    			System.out.println("enter un nombre de 4 chiffres entre 1 et 6");
    		}
    		else{*/
    		String S= String.valueOf(N);
    		c1=S.charAt(0);
    		c2=S.charAt(1);
    		c3=S.charAt(2);
    		c4=S.charAt(3);
    		//}
    	}
     
    	public static Suite genererSecret(){
    		return new Suite((int)(Math.round((Math.random()*6)+1)),(int)(Math.round((Math.random()*6)+1)),(int)(Math.round((Math.random()*6)+1)),(int)(Math.round((Math.random()*6)+1)));
    	}
     
    	public Indication compare(Suite c){
    		int nb_bien=0;
    		int nb_mal=0;
    		int i=0,j=0;
    		String S1=(""+c1+c2+c3+c4);
    		String S2=(""+c.c1+c.c2+c.c3+c.c4);
    		for(i=0;i<S2.length();i++){
    			for(j=0;j<S1.length();j++)
    				if(S2.charAt(i)==S1.charAt(j)&& i==j)
    					nb_bien++;
    				else if(S2.charAt(i)==S1.charAt(j))
    					nb_mal++;
    			}
    		return new Indication(nb_bien,nb_mal);
    	}
     
    	public String toString(){
    		return ("La suite est ["+c1+c2+c3+c4+"]");
    	}
    }
    et voici le code de la classe Indication:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class Indication {
     
    		public int nbBienPlaces;
    		public int nbMalPlaces;
     
    		public Indication( int a, int b){
    			a= nbBienPlaces;
    			b= nbMalPlaces;
    		}
     
    		public String toString(){
    			return ("Le nombre de bien placés est "+ nbBienPlaces +"Le nombre de mal places est "+ nbMalPlaces);
    		}
    }
    merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 17
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    else
    indication.toString();
    ce code n'affiche rien, la méthode toString() renvoie une chaine de caractère.

    Si tu veux afficher des données à l'écran, utilise la méthode fournie par le système :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println(ta chaine de caractère);
    dans ton cas, tu obtiendras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(indication.toString());

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Janvier 2008
    Messages : 101
    Par défaut
    Bon tout d'abord je voudrais vous remericier pour votre aide et votre temps que vous consacrer
    alors le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(indication.toString())
    marche bien.
    Mais la je me suis rendu compte que la classe compare ne me donne pas de résulat.
    en effet avec le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Suite S1=Suite.genererSecret();
    System.out.println(S1.toString());
    je recoit La suite est [0000]
    et deuxiement, il me sort que le nombre de bien placé et de mal placé est 0 meme si je rentre la valeur :p.
    Je suis entrain de voir ça de ma part. Mais si il y a quelqu'un qui voit ce qui cloche, ca seré sympa de m' en faire part.
    merci encore.

  8. #8
    Membre expérimenté

    Avatar de mlny84
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4 023
    Par défaut
    Bonjour,

    Travailles-tu sur le même projet que m_elkhaldi01 qui travaille aussi sur un projet de MasterMind ? (discussion ici)

    Parce que là, j'ai dû m'aider du code qu'il avait posté (classe MasterMind et Suite) pour pouvoir comprendre un peu plus ton code...

    Normalement, la méthode toString() doit renvoyer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return("les valeurs des 4 nombres de la suite sont :"+c1+c2+c3+c4);
    ce qui devrait s'afficher.

    Peux-tu poster ta classe Indication (et ta classe Suite si elle diffère de m_elkhaldi01) stp pour qu'on puisse voir ce qui ne va pas ?

    PS : N'oublie pas de mettre ton code entre les balises "code" en utilisant le bouton "#" quand tu rédige ton message, c'est plus lisible, merci.

Discussions similaires

  1. projets mastermind demande de l'aide
    Par m_elkhaldi01 dans le forum Langage
    Réponses: 9
    Dernier message: 11/01/2008, 10h57
  2. Aide projet Firefox
    Par KKshi666 dans le forum C++
    Réponses: 10
    Dernier message: 20/11/2006, 15h25
  3. Demande d'aide - Projet professionnel ambigu
    Par makechange dans le forum Emploi
    Réponses: 5
    Dernier message: 08/09/2006, 14h34
  4. Besoin d'aide projet d'info : la bonne paye sur C++ Builder.
    Par timsupra dans le forum C++Builder
    Réponses: 18
    Dernier message: 25/04/2006, 11h24
  5. aide projet dev
    Par Nickname dans le forum Langage
    Réponses: 16
    Dernier message: 06/02/2006, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo