Le Ruzzle est un jeu originaire du monde mobile, ce jeu consiste à former le plus de mots en un temps imparti à partir d'une grille de lettres générée aléatoirement. Le but étant de marquer le plus de points possible pour celà des bonus lettre et mot double/triple sont répartis sur la grille mais il n'est pas permis de réutiliser deux fois la même case.
Ruzzle
- Changelog - Version 1.0 - Version 1.01 - Version 1.08
- A faire
- Optimisation
- Instructions de compilation
- Utilisation
- Tests unitaires
- Documentation
- Documentation
- CUnit
- Compte rendu
- Optimisation
- Solver complet permettant la résolution d'une grille saisie ou générée aléatoirement
- Documentation complète
- Instructions utilisateur
- Optimisations diverses sur le traitement
- Comptage points
- Tests unitaires
Le solver résouds la grille en l'espace de ~100 ms actuellement, le seul moyen d'optimiser le traitement encore plus est de faire un arbre de recherche mais ce serait plus coûteux en mémoire, tout en sachant qu'avec la taille importante du dictionnaire l'arbre de recherche pourrait prendre plus de temps à être simplement conçu qu'ici à résoudre la grille.
$ make
Permet de compiler l'ensemble des sources, l'exécutable généré peut être retrouvé dans ./bin .
$ make clean
Permet de supprimer les fichiers objets.
$ make mrproper
Permet de nettoyer le dossier de tout ce qui peut être régénéré.
$ ./bin/ruzzleSolver
Permet d'exécuter le programme en générant une grille aléatoire, les lettres sont tirées au hasard en prenant compte de leurs fréquences d'apparition dans la langue française.
On peut prédéfinir une grille à l'aide d'une chaine de 16 caractères.
Par exemple:
$ ./bin/ruzzleSolver adcksxirmdesuckh
Génèrera la grille :
A D C K
S X I R
M D E S
U C K H
Dans le cas d'une chaîne trop petite un message d'erreur apparaîtra, si la chaîne est trop grande, la grille sera composée des 16 premiers caractères.
Les bonus lettres et mots sont tirés aléatoirement de manière à ce qu'il n'y ait pas trop de bonus.
Le résultat du solver se retrouve dans :
assets/listWords.txt
./tests/ruzzleTest
Lance une batterie de tests afin de vérifier l'intégrité du programme avec:
$ make tests
Permet de recréer l'exécutable pour les tests
$ make tclean
Permet de supprimer les fichiers objets générés pour les tests.
$ make tproper
Permet de nettoyer les dossiers de tests de tout ce qui peut être régénéré.
Il est possible de se documenter sur la structure du solver grâce à une documentation générée par doxygen. Le fichier de configuration pour la documentation est fournie et permet donc de régénérer la documentation en cas de soucis, une page html sera crée reprenant toute la documentation :
doc/html/index.html
Permet de recréer la documentation:
$ make doc