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
61
README.md
61
README.md
@ -1,6 +1,12 @@
|
|||||||
# Bibliothèque libcatwalk
|
# 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 ?
|
## Comment s'organise-t-elle ?
|
||||||
|
|
||||||
@ -43,3 +49,56 @@ ou
|
|||||||
```
|
```
|
||||||
# make uninstall
|
# 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