5 6 — Finalisation
Shadow15510 edited this page 2022-12-20 11:26:03 +01:00
This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Finalisation

Création du jeu

Il ne reste plus qu'à faire une petite fonction de nom du votre jeu qui va créer un modèle vierge de jeu rôle et qui va transmettre toutes ces données au modèle. Le modèle de jeu de rôle prend en argument toute vos fonctions, dans l'ordre :

  • le tuple des cartes
  • le tuple des entités
  • le dictionnaire des évènements : {symbole: évènement}
  • le dictionnaire des touches : {touche: fonction}
  • [optionnel] le dictionnaire des animations supplémentaire : {nom: animation}

Cette étape va ressembler à ça :

import asci

mon_jeu = asci.Asci(maps=cartes, entities=entites, events_mapping=evenements, keys_mapping=touches, behaviors=animations, screen_width=largeur, screen_height=hauteur)

Une fois que votre jeu de rôle est créé il suffit tout simplement de le lancer via la méthode Asci.mainloop() cette méthode vous renvoie les statistiques et la liste data en vue d'une éventuelle sauvegarde de la part du joueur. La méthode prend en argument :

  • les points d'expérience de la partie (lorsque l'expérience du joueur atteint cette valeur, le jeu se termine)
  • la liste des statistiques (avec les points de vie en première place)
  • [optionnel] la liste data utilisée par le moteur, de la forme data=[XP, id de la map, x, y]
  • [optionnel] une fonction de routine
  • [optionnel] une fonction pour la barre en bas
  • [optionnel] le symbole du joueur (par défaut @)
  • [optionnel] le symbole des portes, vous pouvez mettre plusieurs symboles dans la chaîne de caractères (par defaut ^)
  • [optionnel] les symboles sur lesquels le joueur marcher (par défaut les espaces uniquement)
  • [optionnel] la touche pour quitter (par defaut 9, vous pouvez ici aussi mettre une chaîne de caractères)
  • [optionnel] le symbole de déclenchement des déplacements multiples ('.' par défaut)

Ainsi, vous pourrez avoir un code de la forme :

stat, data = mon_jeu.mainloop(limite_xp, stat, data=[...], routine=ma_routine, low_bar=ma_low_bar, player="@", door="^", walkable=" ", exit_key=9, multi_move=".")

Modification de la taille de l'écran

Vous pouvez être amené à vouloir modifier la taille de l'écran, pour cela il suffit de modifier les variables globales SCREEN_WIDTH et SCREEN_HEIGHT. Par exemple:

import asci
asci.SCREEN_WIDTH = 21
asci.SCREEN_HEIGHT = 7

(ce code est inutile puisqu'il s'agit des valeurs par défaut)