Refonte du README.md
Ajout de remerciements, des règles du jeu, d'un exemple réalisé dans catwalk-cli, ainsi que l'explication d'un lot de fonctionnalités
This commit is contained in:
parent
97384b95f7
commit
de0691c718
63
README.md
63
README.md
@ -1,6 +1,12 @@
|
||||
# Bibliothèque libcatwalk
|
||||
|
||||
La bibliothèque du jeu Catwalk, servant de base pour que ses différentes interfaces puissent fonctionner
|
||||
La bibliothèque du jeu Catwalk, servant de base pour que ses différentes interfaces puissent fonctionner.
|
||||
|
||||
## Remerciements
|
||||
|
||||
Merci à [Arnaud Gazagnes](mailto:arnaud.gazagnes@ac-lyon.fr) pour la compilation d'une multitude de jeux dans un document : [Grilles logiques, 69 jeux de grilles](http://math.univ-lyon1.fr/irem/IMG/pdf/GrillesLogiques.pdf).
|
||||
|
||||
Merci à [PuzzlePicnic](http://puzzlepicnic.com) pour avoir hébergé une [description de ce jeu](http://puzzlepicnic.com/genre?catwalk), et de ce fait permis à Arnaud Gazagnes de le recenser.
|
||||
|
||||
## Comment s'organise-t-elle ?
|
||||
|
||||
@ -42,4 +48,57 @@ $ sudo make uninstall
|
||||
ou
|
||||
```
|
||||
# make uninstall
|
||||
```
|
||||
```
|
||||
|
||||
## Règles du jeu
|
||||
|
||||
Le but du jeu est de dessiner un chemin de chaque chat à son propre bol de lait.
|
||||
|
||||
Les nombres à gauche et au-dessous de la grille indiquent combien de cases sont traversées par ce chemin, chats et bols compris.
|
||||
|
||||
Les chats se promènent seulement horizontalement et verticalement et aucune case n’est visitée plus d’une fois.
|
||||
|
||||
Source : Arnaud Gazagnes (arnaud.gazagnes@ac-lyon.fr), dans [Grille logiques, 69 jeux de grilles](http://math.univ-lyon1.fr/irem/IMG/pdf/GrillesLogiques.pdf).
|
||||
|
||||
## Exemple
|
||||
|
||||
Cet exemple a été réalisé grâce à [catwalk-cli](https://git.kaz.bzh/valentin/catwalk-cli/).
|
||||
|
||||
```
|
||||
$ catwalk-cli
|
||||
|
||||
1 1 2 0
|
||||
|
||||
+-------+-------+-------+-------+
|
||||
| /\_/\ | | | |
|
||||
3 |( o.o )| | | |
|
||||
| > ^ < | | | |
|
||||
+-------+-------+-------+-------+
|
||||
| | | == | |
|
||||
1 | | | /mi\ | |
|
||||
| | | \lk/ | |
|
||||
+-------+-------+-------+-------+
|
||||
| | | | |
|
||||
0 | | | | |
|
||||
| | | | |
|
||||
+-------+-------+-------+-------+
|
||||
| | | | |
|
||||
0 | | | | |
|
||||
| | | | |
|
||||
+-------+-------+-------+-------+
|
||||
```
|
||||
|
||||
## Fonctionnalités
|
||||
+ Création d'un objet `struct grid` possédant:
|
||||
- une largeur;
|
||||
- une paire de coordonnées de la case de départ;
|
||||
- une paire de coordonnées de la case d'arrivée;
|
||||
- un pointeur vers des "indicateurs", des nombres qui servent de contraintes au joueur;
|
||||
- un pointeur vers le parcours du joueur, quand il existe (sinon le pointeur est nul).
|
||||
+ Il existe des fonctions pour générer une grille, pour régénérer une grille, et pour vérifier une grille jouée.
|
||||
+ Création d'un objet `struct indicators`, représentant les nombres aux côtés de la grille. Il possède deux pointeurs vers des tableaux d'entiers, un pour chaque axe, horizontal et vertical.
|
||||
+ Création d'un objet `struct route`, représentant un parcours. Cette structure est utilisée à la fois pour la génération de la grille, et pour les mouvements du joueur. Il s'agit en réalité d'une liste doublement chaînée.
|
||||
+ Cet objet dépend d'un autre objet `struct element` qui contient les coordonnées d'une case, et qui contient également les pointeurs de l'élément précédent et de l'élément suivant, dans le contexte de la liste doublement chaînée.
|
||||
+ Création d'un objet `struct directions`, un objet qui sert à identifier les cases sur lesquelles le chat peut aller. Sur l'exemple ci-dessus, le chat se situe sur la case `(0, 0)`, et peut se déplacer sur les cases de coordonnées `(0, 1)` et `(1, 0)`. Ici, la variable `count` de l'objet est égale à 2 car il y a deux possibilités.
|
||||
|
||||
Cette bibliothèque est utilisée, pour l'heure, par le seul projet [catwalk-cli](https://git.kaz.bzh/valentin/catwalk-cli/).
|
Loading…
Reference in New Issue
Block a user