Description du laboratoire

Dans ce labo vous allez faire une première expérience de code avec des classes en codant un jeu du pendu tout d’abord relativement simple (et entièrement dans la console) avant de le compléter par une version graphique utilisant les mêmes classes.

Donnée du projet

  Labo 7 - Jeu du pendu (418,8 KiB, 659 hits)

Fichiers à télécharger

  Input.java (2,2 KiB, 1 813 hits)

  fungraphics-v1.5.4.jar (68,9 KiB, 2 115 hits)

  Dialogs.java (1,8 KiB, 571 hits)

Lab extension

Pour celles et ceux qui ont déjà programmé ou toutes les personnes intéressées, voici deux extensions possibles du labo à l’aide des fichiers

  french_common_words.csv (13,3 KiB, 198 hits)

  french_dictionary.txt (2,2 MiB, 9 265 hits)

Ce sont deux dictionnaires, l’un contenant les 600 mots les plus fréquents de la langue française et l’autre contenant > 200’000 mots du français. Vous pouvez grâce à ces deux dictionnaires réaliser les fonctionnalités suivantes :

  • Faire un jeu complet qui choisit automatiquement un mot à faire deviner dans la liste des 600 avec un niveau difficulté dépendant de la longueur du mot.
  • Faire une aide de jeu dynamique qui permet de donner des conseils sur les mots grâce au dictionnaire complet. Par exemple, si les lettres trouvées sont ‘l*p*n*’ les suggestions suivantes doivent être proposées : « lapant, lapent, lapine, lapins, lapons, lopins, lupins ».
  • Afficher les lettres déjà jouées.
  • Animer le pendu.

Afin de charger les fichiers, vous pouvez utiliser le code suivant :

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;

public String[] loadList(String filePath) {
  String[] wordList;
  try {
    BufferedReader bf = new BufferedReader(new FileReader(filePath));
    ArrayList < String > al = new ArrayList < String > ();
    while (bf.ready()) {
      String[] c = bf.readLine().split(";");
      al.add(c[0]);
    }
    wordList = al.stream().toArray(String[]::new);
    System.out.println("[Dictionary loaded with " + wordList.length + " words]");
    bf.close();
    return wordList;
  } catch(Exception e) {
    e.printStackTrace();
    return null;
  }
}

 

 

Un exemple de cette version du jeu est disponible – sans l’animation – ici :

  hangman_extended.jar (574,8 KiB, 534 hits)

Vous pouvez exécuter directement ce fichier sur Windows et MacOS. Pour Linux, faites clic droit et « Exécuter avec Java VM« .