Skip to content

DanAurea/Ruzzle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ruzzle

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.

Sommaire

Ruzzle

  1. Changelog - Version 1.0 - Version 1.01 - Version 1.08
  2. A faire
  3. Optimisation
  4. Instructions de compilation
  5. Utilisation
  6. Tests unitaires
  7. Documentation

A faire

  • Documentation
  • CUnit
  • Compte rendu
  • Optimisation

Changelog

Version 1.0

  • Solver complet permettant la résolution d'une grille saisie ou générée aléatoirement
  • Documentation complète
  • Instructions utilisateur

Version 1.01

  • Optimisations diverses sur le traitement

Version 1.08

  • Comptage points
  • Tests unitaires

Optimisation

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.

Instructions de compilation

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

Utilisation

$ ./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 unitaires

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

Documentation

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

About

Solver de Ruzzle made by L2 SPI Univ Maine

Resources

Stars

Watchers

Forks

Packages

No packages published