Le jeu des anagrammes consiste à trouver les mots que l'on peut former à partir des lettres d'un autre mot. Par exemple, à partir du mot « OUVERT », on peut former les mots « VOUTER » et « TROUVE ».
Pour essayer le jeu, vous pouvez utiliser le site suivant : https://www.funmeninges.com/anagrammot-mot.html
Cahier des charges
Vous devez réaliser un programme qui permet de jouer au jeu des anagrammes. Au lancement, il doit charger un dictionnaire de mots contenu dans le fichier mots.txt dans un tableau. Quelques remarques concernant ce fichier :
- il contient des verbes conjugués ainsi que des pluriels ;
- il ne contient que des caractères sans majuscules, sans accents et sans cédilles ;
- il contient aussi des mots contenant un tiret (considérés comme un seul mot).
Votre programme doit ensuite trouver les mots qui ont au moins un anagramme dans le dictionnaire (pour ne pas proposer à l'utilisateur de jouer avec un mot qui n'a pas d'anagramme).
Enfin, parmi ces mots, il en choisit un au hasard et indique combien il a d'anagrammes. L'utilisateur doit alors essayer de trouver, un par un, les anagrammes de ce mot.
Exemple d'exécution
Voici un exemple d'exécution de votre programme (le texte affiché par le programme est en bleu, tandis que le texte entré par l'utilisateur est en noir) :
Vous devez trouver les anagrammes de OUVERT (2 à trouver) : > VERTU VERTU n'est pas un anagramme de OUVERT ! > TROUVE Bravo ! Encore 1 anagramme(s) de OUVERT à trouver : > VOUTER Bravo ! vous avez trouvé tous les anagrammes de OUVERT : - TROUVE - VOUTER
De manière optionnelle, vous pouvez proposer à l'utilisateur de rejouer.
Pour aller plus loin (palier 4)
Une fois que vous avez atteint le palier 3 des fonctionnalités, voici quelques idées pour aller plus loin et atteindre le palier 4 :
- Permettre à l'utilisateur de trouver les mots qui ne sont pas des anagrammes parfaits mais qui peuvent être obtenus avec un sous-ensemble des lettres du mot choisi (limiter à une ou deux lettres de moins).
- Permettre à l'utilisateur de demander un indice pour trouver un anagramme. Par exemple, le programme peut dans ce cas afficher la première lettre (ou les deux premières lettres) d'un des anagrammes que le joueur n'a pas encore trouvé.