vendredi 27 février 2015

scrabble : simplifier la recherche des mots

Bon,

après l'article introductif visant à expliquer comment programmer un scrabble : http://sylvainspeh.blogspot.fr/2013/10/au-scrabble-citoyens.html
Voyons maintenant comment il est possible de se simplifier la vie en ne tenant pas compte des quelques 8 types de placements énoncés dans l'article précédent.

Règle unique de fonctionnement

Rechercher tous les mots possibles à mettre dans une rangée à partir d'une configuration donnée ( ligne ou colonne )
Règle unique, c'est vite dit : cela ne tient pas compte du 1° tour, ni de quelques particularités de rattachements que nous allons aborder en fin d'article.

Premier tour


Les traits en orange indiquent les recherches à faire à partir des pions déjà placés. Trouver tous les mots permettant de compléter une rangée non vide. Soit à compléter 7 rangées comportant les lettres ou les lots déjà placés dans leur position. Typiquement, avec un "S", "ombras" devient "sombras" par exemple, et "o" devient "non".

Deuxième tour

Vu les pions tirés, il a été possible de faire "banquai" à partir du "B" de la 5° colonne.
Et ainsi de suite jusqu'à épuisement des pions.

Fin de partie

La grille finale indique les mots posés, nous remarquons le nombre important de lettres utilisées dans les mêmes mots à l'horizontale et à la verticale.
Le temps moyen d'un coup est de moins de 3 minutes dans un fonctionnement monothreadé, où seul le coup donnant le dernier score maximal calculé est gardé.

Un peu plus de détail dans le fonctionnement


Le mot "rotation" de la première ligne peut donner lieu à 4 nouveaux mots par complétion.
Les mots "cedex" et "solings" ne donnent pas lieu à complétion.
53019 mots nouveaux peuvent être posés à partir de la rangée ".......E..ETE..", comme par exemple "...BETE..ETE.." ou ".......E.BETE.." voire ".......ENTETE..".
Les 4 possibilités basées sur "rotation" sont issues du parcours intégral du dictionnaire du scrabble, qui fournit 8 nouveaux mots basés sur "rotation", mais dont 4 seulement tiennent sur la grille, du fait de lettres qui dépassent de la grille.

Amélioration possible

Le mécanisme actuel ne tient pas compte des mots posables en appui sur une ou plusieurs lettres dans dans l'autre direction comme le mot "SU" posé en vertical à partir du "S" posé devant "OMBRAS".

 Ce qui n'empêche pas de déjà faire des parties à plus de 1000 points.


Aucun commentaire:

Enregistrer un commentaire