Aller dans une autre salle

Pour discuter des langages que nous utilisons pour réaliser nos jeux : problèmes, solutions, suggestions...

Modérateurs: Stormi, Otto Grimwald

Aller dans une autre salle

Messagepar tvisarl le Lun Mar 13, 2017 2:34 pm

Bonjour,

Je suis dans la salle "Introduction" et j'ai ça dans mon code :

Code: Tout sélectionner
P01 is a room. It is east of Introduction.


Mais "go P01" ou "move the player to P01" sont rejetés, au motif que je ne peux pas voir P01 ! Et en plus je ne peux pas définir une action : elles ne s'appliquent pas à des salles !
Et pourtant je voudrais pouvoir utiliser un hyperlien pour m'envoyer quelque part ! Et ça m'embête de dire "east" dans mon hyperlien ! Alors ?

Merci d'avance.
tvisarl
Investigateur
 
Messages: 90
Inscription: Sam Juin 18, 2016 9:20 am

Re: Aller dans une autre salle

Messagepar Natrium le Lun Mar 13, 2017 3:07 pm

Solution facile mais rébarbative à implanter :

Code: Tout sélectionner
Understand "P01" as the east when the location is introduction.

Ça fera que le nom de l'endroit sera un synonyme de la direction, mais seulement au bon endroit. Il faut le faire pour chaque endroit et chaque direction, ça peut devenir un peu lourd à mettre en place.

Solution plus difficile mais générale :

Code: Tout sélectionner
Going by name is an action applying to a visible thing.
Understand "go to [any room]" as going by name.

Check going by name:
    if the noun is not adjacent, say "[Le noun] est trop loin." instead;

Carry out going by name:
    let way be the best route from the location to the noun;
    try going way.

Le secret, c'est le « any room ». Ça permet de pouvoir se référer à un endroit dans une commande (le mot « any » est là pour qu'on puisse faire référence à la chose en question même si elle n'est pas in scope). Il faut aussi spécifier « visible thing » car les choses à distance ne sont pas touchables, juste visibles.

Il faudra peut-être effectuer plus de vérifications si on veut que ça ne fonctionne qu'avec des salles visitées ou connues par exemple.

(j'ai fait le code de mémoire, il se peut qu'il y ait des erreurs.)
Avatar de l’utilisateur
Natrium
Grand Ancien
 
Messages: 898
Inscription: Mar Oct 04, 2011 11:18 pm

Re: Aller dans une autre salle

Messagepar tvisarl le Lun Mar 13, 2017 4:01 pm

Merci d'avoir répondu si vite. C'est bien ce qu'il me fallait, mais il faut compléter : mon problème ne se limitait pas là, je voulais, et je veux toujours, émuler une partie de Twine dans Inform : passer d'une salle à l'autre en cliquant sur des hyperliens, et de manière transparente pour l'utilisateur. Et comme le principe de base d'Inform et celui de Twine sont radicalement différents... Enfin, on arrivera peut-être à combiner le meilleur des deux mondes.
Que voulez-vous, on a de plus en plus de gens qui ne veulent pas passer trop de temps sur certaines choses ; par exemple, ils ne veulent pas savoir que la chapelle est au nord du jardin ; ça ne les intéresse pas, ils ne veulent pas avoir à chercher cette information et il faut les guider pour arriver tout de suite à la chapelle. On peut comprendre un peu ça, d'ailleurs. Question de goût. A mon avis Inform devra muter pour se rapprocher de Twine en offrant un look plus moderne et des possibilités de navigation simplifiées, tout en gardant sa puissance et son environnement de développement, très supérieurs à tout ce que Twine peut offrir.

Mais je déconne, moi... Je suis en train de faire un rapport d'audit, ma parole !

P.S : Si la solution complète vous intéresse, je peux la publier.

Ah oui, il y a une bricole à changer dans le code de Natrium:
Code: Tout sélectionner
Going by name is an action applying to a visible thing.

devient
Code: Tout sélectionner
Going by name is an action applying to [b]one[/b] visible thing.


Merci encore à lui.
tvisarl
Investigateur
 
Messages: 90
Inscription: Sam Juin 18, 2016 9:20 am

Re: Aller dans une autre salle

Messagepar Landry le Dim Mar 19, 2017 10:12 pm

P.S : Si la solution complète vous intéresse, je peux la publier.


Je suis bien curieux de voir la solution complète, j'avais pensé un temps essayer de faire quelque chose comme ça pour les déplacements mais mon attention s'est porté sur bien d'autres problèmes...
Avatar de l’utilisateur
Landry
Sorcier du culte
 
Messages: 13
Inscription: Sam Déc 17, 2016 12:35 pm
Localisation: Lyon


Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité