Version sans JavaScript, en lecture seule : les ateliers, les quiz et l’exécution du code n’y sont pas. Version complète · Catalogue · Se connecter

Séquence

Jeu du pendu

Socle

Le mot secret est codé en dur (par exemple « JAVA »). Le joueur propose des lettres ; les bonnes se dévoilent à toutes leurs positions. Six erreurs sont autorisées.

Objectifs : Tableaux et chaînes, boucles, tests de présence, affichage partiel du mot.

Fonctionnalités

  • etat(char[] mot, boolean[] decouvert) renvoie le mot avec des _ à la place des lettres non trouvées.
  • devoiler(char[] mot, boolean[] decouvert, char lettre) découvre toutes les occurrences et renvoie leur nombre.
  • gagne(boolean[] decouvert) renvoie true quand tout est découvert.

Étapes

  1. Représenter l’état : un char[] pour le mot, un boolean[] pour les lettres trouvées.
  2. etat(...) puis afficherEtat(...) qui l’imprime.
  3. proposerLettre(Scanner sc) → lire une lettre, en validant qu’il n’y en a qu’une.
  4. Mettre à jour l’état ; sinon incrémenter le compteur d’erreurs.
  5. Victoire : toutes les lettres découvertes. Défaite : erreurs ≥ 6.

Critères : Gestion des doublons de lettres, affichage lisible, fin de partie correcte.

Ici, un atelier : on y écrit et on y exécute du code. Il demande JavaScript.

Code de départ

Pendu.java

import java.util.Scanner;

public class Pendu {

    public static String etat(char[] mot, boolean[] decouvert) {
        // TODO : les lettres trouvees, un _ pour les autres
        return "";
    }

    public static int devoiler(char[] mot, boolean[] decouvert, char lettre) {
        // TODO : decouvrir TOUTES les occurrences, renvoyer combien
        return 0;
    }

    public static boolean gagne(boolean[] decouvert) {
        // TODO : vrai si tout est decouvert
        return false;
    }

    public static void jouer(Scanner sc, String motSecret) {
        char[] mot = motSecret.toCharArray();
        boolean[] decouvert = new boolean[mot.length];
        // TODO : boucle de jeu, 6 erreurs autorisees
    }
}

Exercices.java

import java.util.Scanner;

public class Exercices {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Pendu.jouer(sc, "java");
        sc.close();
    }
}

Le socle se valide dans l’atelier, qui demande JavaScript.

Indice 1

Le piège des doublons : dans « JAVA », proposer A doit dévoiler les deux A. Parcourez donc tout le tableau à chaque proposition, sans vous arrêter à la première trouvée.

Extensions

  • Liste de mots et tirage aléatoire.
  • Empêcher de reproposer une lettre déjà tentée (avec un Set<Character>).