diff --git a/DOCS_fr.md b/DOCS_fr.md index 8f2a276..aa350a8 100644 --- a/DOCS_fr.md +++ b/DOCS_fr.md @@ -25,4 +25,77 @@ world, player, on_npc_collision, scii_keys = None, get_input_text = None, no_col * `collision_checker` est une fonction qui prend les paramètres `self, world, player, x, y` et qui retourne 0 si le joueur peut passer à (x, y), 1 si il ne peut pas passer à (x, y) et 2 si il y a un pnj à (x, y). `self` permet d'appeler des fonctions de la classe `Scii` ou à en récupérer des données et `world` et `player` contiennent les mêmes données que `world` et `player` qui sont des arguments de `Scii`. * `message_history_max` contient le nombre de messages maximals qui seront conservés dans l'historique des conversations. * `screen_width` est un `int` qui contient la largeur de l'écran en nombre de caractères. -* `screen_height` est un `int` qui contient la hauteur de l'écran en nombre de caractères. \ No newline at end of file +* `screen_height` est un `int` qui contient la hauteur de l'écran en nombre de caractères. + +## `world`, le monde du jeu + +`world` est un dictionnaire qui contiendra tout les éléments du monde du jeu. + +### Un exemple de `world` + +```python +world = { + "dmode": STICKY, + "map_num": 0, + "maps": [ + { + "layers": [ + { + "data": map0, + "transp_char": None + } + ], + "jumps": [ + { + "x": 4, + "y": 4, + "to_x": 1, + "to_y": 1, + "to_map": 0, + "isactive": 1 + } + ] + } + ], + "npc": [ + { + "x": 35, + "y": 1, + "isvisible": 1, + "collision_check": 1, + "layer": 0, + "map": 0, + "char": '&', + "name": "massena" + }, + { + "x": 35, + "y": 6, + "isvisible": 1, + "collision_check": 1, + "layer": 0, + "map": 0, + "char": '&', + "name": "lephenixnoir" + } + ] +} +``` + +### Description +* `dmode` : La méthode d'affichage de la carte : + * `STICKY` : Le joueur est au milieu à part si il est trop proche du bord de la carte, il va donc se décentrer. + * `CENTERED` : Le joueur est toujours au centre (comme dans Asci). + * `BLOCKS` : La carte s'affiche par portions (un peu comme c'est parfois le cas dans Megaman sur la NES). + * `STICKYBLOCKS` : La carte s'affiche comme dans `BLOCKS`, mais elle remplit toujours l'écran. +* `map_num` : Le numéro de la carte sur laquelle on va démarrer le jeu. +* `maps` : Une liste de plusieurs cartes, chacune constituée de : + * `layers` : les différentes couches qui contituent les maps. Ces layers sont dessinés du premier au dernier. + * `data` : Une string qui a l'apparence du layer. + * `transp_char` : Le caractère qui ne sera pas affiché : permet de voir le layer d'en dessous. Si il est à `None`, aucun caractère ne sera enlevé. + * `jumps` : Liste des endroits où le joueur peut sauter d'une map à l'autre et/ou d'une position à l'autre. Cette liste est constituée de dictionnaires constituées de : + * `x` et `y` : La position de départ. + * `to_x` et `to_y` : La position de d'arrivée. + * `to_map` : La map de l'arrivée. + * `isactive` : Bolléen : est ce que ce jump peut téléporter le joueur ? +* `npc` : Liste des pnj qui sont des dictionnaires constituée de : \ No newline at end of file