Remplir une grille de mots croisés consiste à trouver les mots qui correspondent aux définitions données pour chaque ligne et chaque colonne. La spécificité est que ces mots peuvent se croiser : trouver un mot nous donne donc des lettres des mots que nous n'avons pas encore trouvés.
Le but de ce projet est de créer un programme qui permet de trouver
des mots possibles en fonction de sa taille et des lettres que l'on
connaît déjà. Par exemple, saisir *e*r**d
donne les mots
deprend
, meprend
et reprend
.
Cahier des charges
Votre programme doit, au lancement, charger le contenu du 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).
Le programme demande ensuite à l'utilisateur de saisir un mot,
possiblement avec des lettres inconnues représentées par le caractère
*
. Il affiche alors tous les mots de la liste qui
correspondent à ce modèle.
Le programme continue de demander des mots à l'utilisateur jusqu'à ce qu'il saisisse un mot vide (aucun caractère).
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) :
Saisissez un mot (* pour une lettre iconnue): *e*r**d deprend, meprend, reprend Saisissez un mot (* pour une lettre iconnue): p*s pas, pis, pus Saisissez un mot (* pour une lettre iconnue):
Pour aller plus loin (palier 4)
Une fois que vous avez atteint le palier 3 des fonctionnalités, voici une idée pour aller plus loin et atteindre le palier 4 :
- Permettre de générer des grilles de mots croisés d'une taille définie par l'utilisateur.