Page 1 sur 1

Mise à jour de la ligne de statut

MessagePosté: Dim Avr 01, 2018 6:44 pm
par swiart2
Bonjour

J'ai modifié l'affichage de la ligne de statut avec le code suivant.
Seul problème, elle ne se met pas à jour lors des déplacements : Seuls le score et le nombre de tours varient. Mais l'indication de la localisation du joueur ne s'update pas !
Qu'ais-je oublié ??

Code: Tout sélectionner
When play begins:
   now the left hand status line is "[location]" in upper case;
   now the right hand status line is "[score]/[turn count]".


Merci pour votre aide

Re: Mise à jour de la ligne de statut

MessagePosté: Lun Avr 02, 2018 7:11 pm
par Natrium
Je ne suis pas certain, mais ça doit être une histoire de texte substitué ou pas. Quand tu utilises in upper case, Inform va effectuer la substitution la première fois pour la garder de manière définitive, et c'est donc le texte initial qui sera affiché pour toujours, et pas "[location]" qui lui peut varier. C'est assez difficile à saisir, j'espère que tu auras au moins compris l'idée.

Je pense que la solution, c'est de mettre upper case dans la substitution :

Code: Tout sélectionner
    now the left hand status line is "[location in upper case]";

Une autre solution possible serait de changer la barre de statut à chaque tour. Encore une autre solution serait de créer une nouvelle substitution :

Code: Tout sélectionner
To say status location:
    say "[location]" in upper case.

Ces méthodes forceront l'évaluation de la substitution à chaque fois, plutôt que seulement la première fois.

Re: Mise à jour de la ligne de statut

MessagePosté: Ven Avr 06, 2018 10:10 pm
par swiart2
Merci pour ta réponse

la solution de l'upper case dans l'assertion renvoi malheureusement un message lors de la compil.

J'ai supprimé l'upper case pour l'instant en attendant d'avoir trouvé la solution ;(((

Merci