Vous connaissez peut-être le célèbre jeu télévisé « Des chiffres et des lettres ». Ce que nous vous proposons est de coder un programme qui résout une des deux épreuves du jeu : « Le mot le plus long ».
On tire au hasard 10 lettres et on cherche un mot français (orthographié correctement) écrit avec ces 10 lettres. Si on ne trouve pas de mots de 10 lettres, on cherche en 9 lettres et ainsi de suite.
On utilise l'ancienne méthode de tirage des lettres qui se passe de la manière suivante. On demande au joueur si il désire une consonne ou une voyelle et on lui donne une lettre au hasard selon son choix. Puis, on procède de la même manière pour les 9 autres. Le règlement impose cependant qu'il y ait au minimum 2 voyelles (Y est une voyelle).
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 fait un tirage au hasard de 9 lettres en demandant à chaque fois au joueur s'il désire une consonne ou une voyelle. Il faut bien entendu respecter les règles données précédemment.
Il affiche ensuite le tirage et demande à l'utilisateur de chercher un mot contenant le plus de lettres possibles. Quand l'utilisateur le souhaite, il peut demander au programme de lui donner les solutions avec le plus grand nombre de lettres possibles.
Aucun exemple d'affichage n'est donné dans ce projet car un de vos objectifs est de concevoir une interface adaptée.
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 :
- Proposer un mode deux joueurs avec comptage de points (en addition du mode un joueur).
- Proposer un mode dans lequel l'ordinateur choisit s'il faut tirer une voyelle ou une consonne pendant le tirage de manière à maximiser la probabilité de trouver un mot de 9 lettres.