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 (723.7 KiB)

Fichiers à télécharger

  Input.java (2.2 KiB)

  fungraphics-v1.5.1.jar (66.9 KiB)

  Dialogs.java (1.8 KiB)

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)

  french_dictionary.txt (2.2 MiB)

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 :

 

public String[] loadList(String filePath){
	String[] wordList;
	
	try {
		BufferedReader bf = new BufferedReader(new FileReader(filePath));
		ArrayList al = new ArrayList();
		
		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)

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