Ce que je comprends, c'est qu'un drapeau est un attribut de personnage (donc global) et un état un attribut de scène.
Je me demandais justement à quoi servaient les états, parce que j'avais en tête des cas d'utilisation qui sont plutôt du ressort du drapeau.
Peut-être qu'on ne veut pas stocker 50 000 drapeaux et que pour un drapeau qui n'influencerait qu'une scène, on préfère un effet qui la modifie directement.
Exemple : le marchand qui accueille en disant "Ah, je vois que vous êtes déjà allé voir mon collègue". Plutôt que de stocker un drapeau "A vu marchand 1", on va ajouter chez marchand 1 un effet state:marchand2:a_vu_marchand_1
Maintenant, il n'est pas dit explicitement dans le journal que le texte peut dépendre d'un drapeau. Apparemment, le drapeau est utilisé pour permettre (ou pas) une ligne de choix.
Alors une question demeure : est-il possible de modifier un texte selon un drapeau ?
Exemple : mon personnage achète un chapeau bleu, ce qui change le message d'accueil de plein de scènes (forcément, avec un chapeau bleu, on se fait remarquer). Soit je stocke ça dans un drapeau et je peux modifier les textes en fonction, c'est bien commode, soit je dois, lors de l'achat, mettre un effet pour toutes les scènes que ça modifie.
A quoi s'ajoute la question de la maintenance : si j'ajoute une nouvelle scène dont le texte dépend du chapeau bleu, dans un cas, j'exploite le drapeau directement, dans l'autre, je dois aller modifier la scène de l'achat pour ajouter un effet.
La première façon me semble plus propre, et surtout plus robuste. Vu de loin. La deuxième étant à réserver à des cas bien localisés.
Je n'éprouve pas d'intérêt particulier pour ces jeux, mais c'est bien d'avoir fait l'effort de publier le code. C'est toujours plus long que de le garder pour soi, puisqu'il faut le faire propre, générique, etc, plus que quand on le fait juste pour soi.
[^] # Re: Questions
Posté par jihele . En réponse à la dépêche Escenadil, un moteur de jeu d’aventure en mode texte. Évalué à 2.
Ce que je comprends, c'est qu'un drapeau est un attribut de personnage (donc global) et un état un attribut de scène.
Je me demandais justement à quoi servaient les états, parce que j'avais en tête des cas d'utilisation qui sont plutôt du ressort du drapeau.
Peut-être qu'on ne veut pas stocker 50 000 drapeaux et que pour un drapeau qui n'influencerait qu'une scène, on préfère un effet qui la modifie directement.
Exemple : le marchand qui accueille en disant "Ah, je vois que vous êtes déjà allé voir mon collègue". Plutôt que de stocker un drapeau "A vu marchand 1", on va ajouter chez marchand 1 un effet state:marchand2:a_vu_marchand_1
Maintenant, il n'est pas dit explicitement dans le journal que le texte peut dépendre d'un drapeau. Apparemment, le drapeau est utilisé pour permettre (ou pas) une ligne de choix.
Alors une question demeure : est-il possible de modifier un texte selon un drapeau ?
Exemple : mon personnage achète un chapeau bleu, ce qui change le message d'accueil de plein de scènes (forcément, avec un chapeau bleu, on se fait remarquer). Soit je stocke ça dans un drapeau et je peux modifier les textes en fonction, c'est bien commode, soit je dois, lors de l'achat, mettre un effet pour toutes les scènes que ça modifie.
A quoi s'ajoute la question de la maintenance : si j'ajoute une nouvelle scène dont le texte dépend du chapeau bleu, dans un cas, j'exploite le drapeau directement, dans l'autre, je dois aller modifier la scène de l'achat pour ajouter un effet.
La première façon me semble plus propre, et surtout plus robuste. Vu de loin. La deuxième étant à réserver à des cas bien localisés.
Je n'éprouve pas d'intérêt particulier pour ces jeux, mais c'est bien d'avoir fait l'effort de publier le code. C'est toujours plus long que de le garder pour soi, puisqu'il faut le faire propre, générique, etc, plus que quand on le fait juste pour soi.