Projet 15 : Aide pour le Scrabble
Description du mini projet
Le Scrabble est un jeu de société et un jeu de lettres où l'objectif est de réaliser des points en plaçant des mots, sur la base de tirages aléatoires de lettres, sur une grille carrée dont certaines cases sont primées. Les règles sont disponibles ici.
Votre programme devra trouver les meilleurs mots au Scrabble. Il récupère les 7 lettres du tirage de Scrabble pour obtenir le meilleur mot solution. Un joker (jeton vide sans lettre) se note par un caractère *.
Cahier des charges
Pour récupérer la liste de mots autorisés au Scrabble de Jean-Philippe Durand : http://jph.durand.free.fr/scrabble.txt
Ensuite, pour effectuer une recherche, l'utilisateur devra fournir une chaîne de caractère décrivant les lettres dont il dispose (on utilise "*" pour le joker).
Votre programme devra alors proposer tous les mots possibles avec la combinaison (lettre fournie + une autre lettre de l'alphabet permettant de rattacher le mot) par ordre décroissant des points rapportés.
Par exemple, si le joueur rentre les lettres “YTHON”, le programme affiche :
ZYTHON (+Z) 27 pts
ONYX (+X) 22 pts
PYTHON (+P) 20 pts
TYPHON (+P) 20 pts
MYTHO (+M) 18 pts
RHYTON (+R) 18 pts
HAYON (+A) 17 pts
THYM (+M) 17 pts
TYPON (+P) 16 pts
CYON (+C) 15 pts
TOBY (+B) 15 pts
TYPO (+P) 15 pts
WOH (+W) 15 pts
BOY (+B) 14 pts
NOYAT (+A) 14 pts
OYANT (+A) 14 pts
GOY (+G) 13 pts
NOYA (+A) 13 pts
NOYE (+E) 13 pts
OYAT (+A) 13 pts
TORY (+R) 13 pts
TROY (+R) 13 pts
YOD (+D) 13 pts
KOT (+K) 12 pts
NAY (+A) 12 pts
NEY (+E) 12 pts
OYE (+E) 12 pts
WON (+W) 12 pts
YEN (+E) 12 pts
(... 141 possibilités au total)
Charger la liste des mots dans une liste depuis un fichier.
Proposer à l'utilisateur de saisir les lettres dont il dispose.
Effectuer la recherche et afficher les résultats.
Il faudra coder une fonction qui retournera le nombre de points correspondant à un mot : valeurs des lettres du Scrabble.
Vous pouvez coder votre programme sans “Joker” dans un premier temps.
Complément : Palier 4 : Une fois le palier 3 franchi
Modifier votre programme afin pouvoir prolonger un mot ou utiliser un ensemble de lettres ou un motif afin d'intégrer un mot.
Exemple : Entrer un bloc de lettre comme AGE indique que le mot doit contenir le bloc de lettres “AGE” soit les lettres A, puis G puis E consécutivement. Cette fonction est utile pour prolonger un mot court.