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

avec Java Discussion :

Jeu du pendu


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut Jeu du pendu
    Bonjour,
    voilà, lors d'un examen en java, le jeu du pendu est tombé. Enfin pas tous le jeu du pendu, juste deux fonctions à écrire. Je suis persuadé qu'elles ne sont absolument pas très dure, mais malgré tout, je n'y arrive pas. Le java n'est décidément pas mon amis.

    Voilà le sujet :

    Le but de cet exercice est de compléter une classe décrivant un jeu de Pendu (il faut deviner un mot choisi par le programme—le choix de ce mot ne concerne pas cet exercice). Il s'agit de proposer deux méthodes permettant d'indiquer à un joueur si celui-ci à gagner ou si celui-ci s'approche de la solution. Le mot à deviner est représenté sous la forme d'un tableau de caractères (type char) intitulé motADeviner :


    public class Pendu {

    private char motADeviner[];
    // char --> type représentant *1* seul caractère

    public boolean motTrouve(char motPropose[]) {

    }

    public boolean motMelange(char motPropose[]) {

    }
    }


    Question 1
    Il vous est demandé de créer la fonction motTrouve(char motPropose[])qui a pour but de comparer un mot au mot à deviner et retournant une valeur booléenne : la fonction doit renvoyer true si chaque caractère du tableau motPropose a sa correspondance à la place exacte dans le tableau (autrement dit les mots sont identiques), sinon false.
    Question 2
    Il vous est demandé de créer la fonction motMelange(char motPropose[])qui a pour but de comparer un mot au mot à deviner et retournant une valeur booléenne: la fonction doit fournir true si chaque caractère du tableau motPropose apparaît dans le tableau motADeviner mais à une place incorrecte, sinon false.


    Exemple
    Le mot à deviner est "cela" et donc le tableau de caractères motADeviner contient c,e,l,a. Si le tableau de lettres motPropose contient c,e,l,a la fonction motTrouve fournira comme réponse true alors que la fonction motMelange fournira false. Si le tableau de lettres motPropose contient l,c,a,e la fonction motTrouve fournira comme réponse false alors que la fonction motMelange fournira true.
    Avez vous une idée de comment écrire ces deux fonctions?

    Je pense qu'il faut utiliser " Arrays.equals" de facon à pouvoir comparer les données entre motpropose[] et motAdeviner[].

    Cependant je ne sais pas trop comment on peut écrire ca...

    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
    public class Pendu {
     
        private char motADeviner[];
        // char --> type représentant *1* seul caractère
     
        public boolean motTrouve(char motPropose[]) {
     
            boolean resultat = Arrays.equals(motPropose[],motAdeviner[]);
     
           If resultat == true {
            System.out.println("Felicitation !!");
          } else {
           motMelange();
          }
        }  
     
        public boolean motMelange(char motPropose[]) {
            int i ;
            int j;
          for ( i=0; i<motPropose.lengh ; i++ ) {
     
         La je sais pas, j'imagine qu'il faut utilisé equals, mais sans conviction...
     
        }  
    }
    Merci a vous

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Euh.

    Commence déjà par écrire les deux méthodes, de sorte que motTrouve() renvoie toujours true quoi qu'on lui donne, et motMelange() renvoie toujours false quoi qu'on lui donne.
    Puis montre le résultat.

    Chacune peut se faire en deux mots, pas plus.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bonsoir,

    Est-ce que tu veux dire rajouter une initialisation au début de chaque méthode ??
    genre pour motTrouve

    boolean resulat == true
    et ensuite poursuivre le code ?

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Non, je dis que tu es trop débutant pour faire l'exercice de départ. Il faut commencer par plus simple.

    Par exemple quand on te dit qu'une méthode doit "retourner" quelque chose, alors elle doit fatalement contenir une instruction return .

    Alors commence par nous faire une méthode qui renvoie toujours true et une méthode qui renvoie toujours false. C'est facile. C'est deux mots et un point-virgule. Allez.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    bah

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public boolean motTrouve(char motPropose[]) {
     
    return true;
    } 
     
    public boolean motMelange(char motPropose[]) {
     
    return false ;
    }

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Bien. On t'a dit de "retourner" quelque chose, et donc tu as mis un return. Parfait.

    C'est aussi le cas dans le problème que tu nous as montré au début. Où sont les return ? Pourquoi affiche-tu des trucs avec System.out.println() ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    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
    public class Pendu {
     
        private char motADeviner[];
        // char --> type représentant *1* seul caractère
     
        public boolean motTrouve(char motPropose[]) {
     
            boolean resultat = Arrays.equals(motPropose[],motAdeviner[]); // ça, c'est presque bon, t'as des crochets en trop là
     
           If resultat == true { // ce if est mal écrit (minuscule et manque les parenthèses)
            System.out.println("Felicitation !!"); // on n'a jamais demandé d'écrire quoi que ce soit dans la question.
          } else {
           motMelange(); //Quel rapport avec e mot mélangé? On te demande de tester si le mot est juste
          }
          // t'as pas oublié de retourner la réponse? (resultat)
        }  
     
        public boolean motMelange(char motPropose[]) {
            int i ;
            int j;
          for ( i=0; i<motPropose.lengh ; i++ ) {
     
         La je sais pas, j'imagine qu'il faut utilisé equals, mais sans conviction...
         // Parce que je suis un fénéant, j'utiliserais une particularité. Si il sont égaux mais mélangés, alors une fois triés ils seront tout simplement égaux ;)
         // Donc je fais deux tableaux triées et je les compares.
     
        }  
    }
    [/QUOTE]

Discussions similaires

  1. Code en bourne shell du jeu Le "PENDU"
    Par piment dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 14h17
  2. Jeu Bonhomme pendu
    Par yinyann86 dans le forum Delphi
    Réponses: 11
    Dernier message: 14/11/2006, 17h03
  3. Le jeu du pendu.
    Par giggs dans le forum C
    Réponses: 5
    Dernier message: 31/10/2006, 13h40
  4. jeu du pendu
    Par krachik dans le forum Langage
    Réponses: 5
    Dernier message: 24/10/2006, 12h48
  5. Réponses: 4
    Dernier message: 24/03/2006, 13h54

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