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 Pendu : Comment créer le tiret ?


Sujet :

avec Java

  1. #1
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut Jeu Pendu : Comment créer le tiret ?
    Bonjour,

    Je suis en train de créer un pendu super basic, mais je bloque par rapport au tiret ?

    Pour l'instant je sais comment comparer une lettre tapée par l'utilisateur et le mot recherché mais je bloque pour le tiret, je pense qu'il faut un booléen?

    Voici une idée du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
       String word_to_search = "home";
     
        for(int i=0;i<9;i++){
        System.out.print("Enter your letter : ");
        char user_input_letter = enter.next().charAt(0);
        if(word_to_search.indexOf(user_input_letter)>=0){
            System.out.println("The letter exists !!");
        }
        else{
            System.out.println("This letter does not exist ! ");
        }
      }

    Je vous remercie pour votre aide.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il y a plusieurs façon de le gérer :

    1. Soit directement dans une boucle mais ça nécessite effectivement d'avoir un tableau de booléen pour marquer les lettres trovuées
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      String word_to_search = "home";
      boolean[] trouvees = new boolean[word_to_search.length()];
       
      /*... etc ...*/
       
      for(int i=0; i<word_to_search.length(); i++) {
          if ( trouvees[i] ) {
               System.out.print(word_to_search.charAt(i));
          }
          else {
               System.out.print('_');
          }
      }
      System.out.println();
    2. Ou tu peux créer un tableau de char et l'afficher directement :

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      char[] affichage = new char[word_to_search.length()];
      Arrays.fill(affichage,'_');
      System.out.println(new String(affichage));
      chaque fois que tu trouves une lettre il faut la modifier dans le tableau :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      affichage[i] = word_to_search.charAt(i);
    3. Ou utiliser un StringBuilder
    4. etc
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonjour joel.drigo,

    Merci beaucoup pour ton aide, j'ai pu résoudre mon problème encore grâce à toi.

    Bonne soirée

  4. #4
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonsoir,

    Voici ci-dessous une idée de mon code, je me demande si on peut encore mieux développer le code?
    Je ne peux pas utiliser de méthodes ni de StringBuilder.


    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
    public class exemple {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
     
            char lettre = 0; // déclaration et initialisation de la lettre
            String[] mots = {"yes", "no"}; // déclaration et initialisation du tableau avec des mots
            String mot_hasard = mots [(int) (Math.random() * mots.length)]; // choix du mot aléatoire
            boolean[] lettre_decouverte = new boolean[mot_hasard.length()];
            int nombre_tentative = 5;
     
            while(nombre_tentative > 0){
                System.out.println("Vous avez " + nombre_tentative + " tentative(s).");
                for(int i=0; i<mot_hasard.length();i++){
                    if(lettre_decouverte[i]){
                        System.out.print(mot_hasard.charAt(i));
                    }
                    else{
                        System.out.print("_ ");
                    }
                }
     
                System.out.println("");
                System.out.print("Entrer votre lettre : ");
                lettre = input.next().charAt(0);
     
                for(int i=0;i<mot_hasard.length();i++){
                    if(mot_hasard.charAt(i) == lettre){
                        System.out.println("La lettre est exacte");
                        lettre_decouverte[i] = true;
                    }
                }
     
                boolean termine = true;
     
                for(int i=0;i<mot_hasard.length();i++){
                    termine = termine && lettre_decouverte[i];
                    System.out.print(mot_hasard.charAt(i));
                }
     
                if(termine) break;
                else nombre_tentative--;
            }
        }
    }

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,


    1. ligne 37 System.out.print(mot_hasard.charAt(i));.
      Il y un souci fonctionnel ici : tu affiches les lettres du mot à trouver ! Pour déboguer pourquoi pas, mais pour jouer, c'est plutôt incongru.
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      for(int i=0;i<mot_hasard.length();i++){
          termine = termine && lettre_decouverte[i];
          if ( lettre_decouverte[i] ) {
               System.out.print(mot_hasard.charAt(i));
          }
          else {
              System.out.print("_ ");
          }
      }
      En plus, il n'y a pas de passage à la ligne après donc le mot se combine avec la phrase "Vous avez n tentative(s)."
    2. ligne 36 termine = termine && lettre_decouverte[i];.
      On peut simplifier par termine &= lettre_decouverte[i];.

      Mais, comme l'affichage se fait en début d'itération du [c]while(nombre_tentative > 0){[c], on pourrait le supprimer :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      for(int i=0;i<mot_hasard.length();i++){
          termine &= lettre_decouverte[i];
      }
      Il faut juste afficher quelque chose après la boucle while : la conclusion du jeu. Par exemple :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      if ( nombre_tentative==0 ) {
          System.out.println("Dommage ! Vous n'avez pas trouvé le mot. La réponse était : " + mot_hasard);
      }
      else {
          System.out.println("Bravo ! Vous avez trouvé le mot : " + mot_hasard);
      }
      (On pourrait même utiliser nombre_tentative pour afficher le nombre d'essais utilisés pour trouver le mot, ou calculer un score)

      Du coup, on pourrait écrire simplement :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      for(int i=0;i<mot_hasard.length();i++){
          if ( !lettre_decouverte[i] ) {
               termine = false;
               break;
          }
      }
      Si on a une lettre non découverte, cela suffit à déterminer qu'on n'a pas terminé. Pas besoin de tester les lettres qui suivent. On peut donc terminer la boucle ici.

      On pourrait écrire aussi :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      for(int i=0; termine && i<mot_hasard.length();i++){
          termine = !lettre_decouverte[i];
      }
    3. boucle ligne 26 :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      for(int i=0;i<mot_hasard.length();i++){
          if(mot_hasard.charAt(i) == lettre){
              System.out.println("La lettre est exacte");
              lettre_decouverte[i] = true;
          }
      }
      Si le mot à trouver contenait plusieurs fois la même lettre, on aurait le message "La lettre est exacte" qui s'affiche plusieurs fois (autant de fois que la lettre se trouve dans le mot, y compris si on a déjà trouvé la lettre).
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      int lettreTrouvees = 0;
      for(int i=0;i<mot_hasard.length();i++){
          if(mot_hasard.charAt(i) == lettre){
              lettre_decouverte[i] = true;
              lettreTrouvees++;
          }
      }
      puis
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      if ( lettreTrouvees==1 ) {
          System.out.println("La lettre proposée se trouve bien dans le mot à trouver.");
      }
      else if ( lettreTrouvees>0 ){
          System.out.println("La lettre proposée se trouve bien " + lettreTrouvees + " fois dans le mot à trouver.");            	
      }
      else {
          System.out.println("La lettre proposée ne se trouve pas dans le mot à trouver.");            	            	
      }
      ou
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      switch(lettreTrouvees) {
      case 0:
          System.out.println("La lettre proposée ne se trouve pas dans le mot à trouver.");            	            	
          break;
      case 1:
          System.out.println("La lettre proposée se trouve bien dans le mot à trouver.");
          break;
      default:
          System.out.println("La lettre proposée se trouve bien " + lettreTrouvees + " fois dans le mot à trouver.");            	
      }
      En plus, si on a déjà trouvé la lettre, on aurait exactement le même message. On pourrait avoir un message particulier.
    4. On pourrait combiner les deux boucles, celle qui "découvre" la lettre et celle qui détermine termine, en une seule :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      boolean termine = true;
      int lettreTrouvees = 0;
      for(int i=0;i<mot_hasard.length();i++){
          if(mot_hasard.charAt(i) == lettre){
              lettre_decouverte[i] = true;
              lettreTrouvees++;
          }
          termine &= lettre_decouverte[i];
      }
    5. ligne 5 char lettre = 0.
      Cela ne sert à rien de déclarer "lettre" ici et de l'initialiser avec une valeur bidon. Ça ne sert à rien de l'initialiser parce qu'on ne lit jamais sa valeur avant de l'avoir affectée par lettre = input.next().charAt(0);. Ça ne sert à rien de la déclarer si loin de sa portée d'utilisation.
      On peut très bien la déclarer au moment de la lecture du caractère au clavier :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      char lettre = input.next().charAt(0);
    6. ligne 11 : while(nombre_tentative > 0){.
      Comme à priori cela n'aurait aucun sens de n'avoir aucune tentative pour joueur, on pourrait faire plutôt un do/while plutôt qu'un while.
    7. ligne 22 System.out.println("");.
      L'argument "" est inutile. On peut écrire System.out.println(); qui donnera exactement le même résultat.
    8. ligne 41 else nombre_tentative--;.
      le "else" n'est pas indispensable ici. En effet le if est if ( termine ) break; : si termine est vrai alors on sort de la boucle et le code qui suit dans le bloc du while n'est pas exécuté.


    Remarques non techniques :
    1. boucle ligne 13
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      for(int i=0; i<mot_hasard.length();i++){
          if(lettre_decouverte[i]){
              System.out.print(mot_hasard.charAt(i));
          }
          else{
              System.out.print("_ ");
          }
      }
      Par cohérence, j'aurais plutôt fait :
      [CODE]
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
      8
      9
      for(int i=0; i<mot_hasard.length();i++){
          if(lettre_decouverte[i]){
              System.out.print(mot_hasard.charAt(i));
          }
          else{
              System.out.print('_');
          }
          System.out.print(' ');
      }
      Pour avoir une espace entre chaque lettre, trouvée ou pas...
    2. ligne 23 System.out.print("Entrer votre lettre : ");.
      C'est "Entrez votre lettre" ou "Veuillez entrer votre lettre :"...
    3. Il existe des conventions de nommage en Java :
      1. le nom de classes en UpperCamelCase, donc commençant par une majuscule
      2. le nom de variable en lowerCamelCase, sans underscore

    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonjour joel.drigo,

    Merci pour ta réponse et désolé pour ce code brouillon... Grâce à ta correction, cela va me permettre de penser autrement.

    Il y a un passage que je n'ai pas très bien compris, il s'agit du nombre de tentative (nombre_tentative).

    Comment fais-tu pour gérer cela?

    J'ai mis ton code hier...

    https://repl.it/repls/AffectionateExoticPrinters

    Un grand merci à toi

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tamzoro Voir le message

    Il y a un passage que je n'ai pas très bien compris, il s'agit du nombre de tentative (nombre_tentative).
    Quand j'ai parlé d'enlever le else, je parlais juste d'enlever ce mot, pas le code exécuté dans le cas du else. Donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(termine) break;
     
    nombre_tentative --;
    Il faut bien sûr décrémenter le nombre_tentative à chaque tour. Eventuellement, fonctionnellement, tu peux vouloir ne pas compter le tour si l'utilisateur a joué une lettre déjà joué.

    Dans ce cas il faut un booléen :

    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
     
    boolean termine = true;
    boolean dejatrouvee = false;
    int lettreTrouvees = 0;
    for(int i=0;i<mot_hasard.length();i++){
        if(mot_hasard.charAt(i) == lettre){
            if ( lettre_decouverte[i] ) { // lettre déjà découverte
                 dejatrouvee = true;
                 break;
            }
            lettre_decouverte[i] = true;
            lettreTrouvees++;
        }
        termine &= lettre_decouverte[i];
    }
     
    if ( dejatrouvee ) { // on ne compte pas cette tentative et on reboucle
        System.out.println("Lettre déjà proposée et bien dans le mot à trouver.");
    }
    else {
        if ( lettreTrouvees==1 ) {
            System.out.println("La lettre proposée se trouve bien dans le mot à trouver.");
        }
        else if ( lettreTrouvees>0 ) {
            System.out.println("La lettre proposée se trouve bien " + lettreTrouvees + " fois dans le mot à trouver.");            	
        }
        else {
            System.out.println("La lettre proposée ne se trouve pas dans le mot à trouver.");                	
        } 
     
        if(termine) break;
        nombre_tentative --;
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Mon soucis, est que lorsque je trouve une lettre, le nombre de tentative se décrémente toujours.

    Je pense que le ce bout de code n'est pas au bon endroit?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(termine) break;
       nombre_tentative --;
    https://repl.it/repls/GrouchyDependableSites

  9. #9
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    Mon soucis, est que lorsque je trouve une lettre, le nombre de tentative se décrémente toujours.
    C'est ce que je pensais que tu voulais faire, puisque c'est ce que faisait ton code à l'origine, et que ce n'était pas spécialement illogique (on peut vouloir qu'on trouve le mot en n coups, qu'on trouve ou pas une lettre à chaque tentative, et c'est compatible avec des mots de 3 lettres ou moins...). Tentative peut vouloir dire tentative fructueuse ou tentative infructueuse... mais si tu veux que tentative signifie echec, alors ton code d'origine ne validait pas cette signification.

    Citation Envoyé par Tamzoro Voir le message
    Je pense que le ce bout de code n'est pas au bon endroit?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(termine) break;
       nombre_tentative --;
    Non, ce n'est pas le bon code, en effet, si tu veux que le nombre de tentatives se décrémente seulement quand on on trouve une lettre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     if ( lettreTrouvees==1 ) {
            System.out.println("La lettre proposée se trouve bien dans le mot à trouver.");
        }
        else if ( lettreTrouvees>0 ) {
            System.out.println("La lettre proposée se trouve bien " + lettreTrouvees + " fois dans le mot à trouver.");            	
        }
        else {
            nombre_tentative --;
            System.out.println("La lettre proposée ne se trouve pas dans le mot à trouver.");                	
        }
    Là, le nombre de tentatives se décrémente lorsqu'on n'a pas trouvé de lettre existante dans le mot lors du tour...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  10. #10
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    J'ai mis en commentaire nombre_tentative --; ça a l'air de fonctionner.
    https://repl.it/languages/java10

    Il me reste plus qu'à m'exercer pour que je comprenne bien les bouts de codes que tu as ajouté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(termine) break;
                /*nombre_tentative --;*/
              }
    En revanche si j'efface toute la condition, dans mon input même si l'utilisateur trouve le mot, le input me propose encore une nouvelle lettre à taper.
    Je vais garde le code du haut.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(termine) break;
                nombre_tentative --;
              }
    https://repl.it/languages/java10

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Tamzoro Voir le message
    J'ai mis en commentaire nombre_tentative --; ça a l'air de fonctionner.
    Bien sûr la ligne après le if ( termine ) break; faut l'enlever Cela me semblait évident sans le dire... on déplace la ligne nombre_tentative --;

    Citation Envoyé par Tamzoro Voir le message
    tu t'es trompé d'URL : ça montre un "hello world"




    Citation Envoyé par Tamzoro Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(termine) break;
                /*nombre_tentative --;*/
              }
    En revanche si j'efface toute la condition, dans mon input même si l'utilisateur trouve le mot, le input me propose encore une nouvelle lettre à taper.
    Si par "toute la condition" tu parles de if(termine) break;, forcément, supprimer cette ligne va faire qu'on ne sortira pas du do/while si termine est vrai (donc si on a trouvé le mot), ce que fait cette ligne justement.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre actif
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Septembre 2009
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Septembre 2009
    Messages : 458
    Points : 237
    Points
    237
    Par défaut
    Bonjour joel.drigo,

    Excuse-moi pour le retard, mon problème a été résolu grâce à toi, je te remercie beaucoup pour ton aide.

Discussions similaires

  1. Comment créer une date ne contenant QUE des tirets (sans chiffres)
    Par francky74 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 15/04/2016, 11h09
  2. comment créer un jeu par navigateur ?
    Par zakii2plus dans le forum JSF
    Réponses: 3
    Dernier message: 31/07/2014, 12h36
  3. [FLASH 5] Comment créer un lien hypertexte
    Par ajit dans le forum Flash
    Réponses: 4
    Dernier message: 30/03/2006, 12h26
  4. Comment créer et executer un .EXE
    Par maher12 dans le forum Flash
    Réponses: 3
    Dernier message: 26/09/2002, 08h33
  5. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30

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