Source

enseirb-crosswords /

Filename Size Date modified Message
data
meta
rapport
src
140 B
630 B
3.1 KB
384.7 KB
16 B
                ┌─────────────────────────────────────┐
                │             Crosswords              │
                ├─────────────────────────────────────┤
                │                                     │
                │ Projet programmation C / Semestre 5 │
                │           ENSEIRB-MATMECA           │
                │  ~ldauphin, ~amacabies, ~esagardia  │
                │                                     │
                └─────────────────────────────────────┘

│ Description │
└─────────────┘

Ce projet est écrit en langage C, standard C99. Il propose de générer une grille
de mots croisés étant donné un dictionnaire et l'emplacement des cases noires.


│ Compilation │
└─────────────┘

La présence d'un Makefile permet de compiler le projet à l'aide d'une commande :
  $ make

Cela aura pour conséquence la création d'un binaire nommé "crosswords" dans la
racine du projet.

Le rapport peut être compilé avec
  $ make report
ce qui produit le fichier "rapport-crosswords.pdf" à la racine du projet.

Attention, cela nécessite le package "pgfplots" qui n'est souvent pas installé
avec les distributions TeX de base. Au cas où cette compilation soit impossible,
le PDF résultant est déjà dans le dépôt.


│ Utilisation │
└─────────────┘

  $ ./crosswords [-f <format sortie>] [-o <fichier sortie>]
                 <chemin grille> <chemin dictionnaire>

  : <chemin grille> est le chemin vers le fichier texte contenant le motif des
    cases noires.
  : <chemin dictionnaire> est le chemin vers le fichier texte contenant les
    mots qui peuvent être placés dans la grille.
  : -o <fichier sortie> permet de préciser le chemin du fichier qui sera écrit
    en sortie. Par défaut, il s'agit de la sortie standard ("-").
  : -f <format sortie> permet de sélectionner le format que prend la grille
    générée. Par défaut, il s'agit de "ascii", ie. une
    Les formats possibles sont :
      - "ascii" : représentation minimale utilisant les lettres de l'alphabet
                  et # pour les cases noires.
      - "html" : format HTML permettant l'affichage dans un navigateur.
      - "latex" : format LaTeX, permettant par exemple de produire un PDF avec
                  un outil approprié comme pdflatex.

La génération se fait sans autre interaction avec l'utilisateur.

Un algorithme aléatoire est utilisé pour la génération : pour un dictionnaire et
un motif de cases noires donnés, la grille produite peut être différente.

Exemple pour tester rapidement :

  $ ./crosswords -f ascii data/test_grille_5x5 data/ods5.words

Une tarball compressée contenant plusieurs milliers de grilles (tailles 1x1 à
9x9 au format HTML) peut être utilisée pour visualiser le résultat de notre
algorithme sur un grand nombre de motifs. Elle se trouve à meta/grids.tar.bz2.