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émentPalier 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.