Questions diverses sous GLULX et inform

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

Modérateurs: Stormi, Otto Grimwald

Re: Questions diverses sous GLULX et inform

Messagepar Otto Grimwald le Mer Oct 29, 2008 9:16 am

si la ligne est trop longue cela peut poser problème, mais tu peux le faire en 2 lignes sans problèmes pour fractionner un peu :

Code: Tout sélectionner
print "blabla [...]";
print "[...] fin de blabla";

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Mer Oct 29, 2008 8:03 pm

J'ai trouvé mon erreur.... j'avais bêtement placé une majuscule sur mes instructions print....... :oops: :oops: :oops:
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Mar Nov 04, 2008 8:09 pm

Petites questions en passant :

Est-il possible de remplacer, totalement ou en partie (sous glulx I6 ou I7), la saisie des commandes au clavier par un simple raccourci ? Par exemple, remplacer "aller vers le nord" par un appui sur la touche "haut" du clavier ?

Et sous glulx encore, est-il possible de faire une transition entre deux images ? (genre fondu :) )

Merci !
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Otto Grimwald le Jeu Nov 06, 2008 7:12 pm

pour le fondu, je ne pense pas que cela soit possible directement, mais tu dois pouvoir créer une image intermédiaire avec le fondu (si la transition est prévisible), et lire les 3 images à la suite pour faire une sorte d'animation.

Pour le clavier, essaye de regarder cela :
http://www.onyxring.com/downloads/orlib ... rimitive.h

mais cela me semble compliqué...

Avec gwindows il est possible aussi de faire une rose des vents cliquable :

http://justice.loyola.edu/~lraszews/if/ ... indows.htm

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Questions diverses sous GLULX et inform

Messagepar JB le Jeu Nov 06, 2008 10:30 pm

Une petite incursion pour le fondu, c'est tout à fait possible.

Je te donne le principe de tête, y a plus qu'à coder (lol) :

Affiche image de départ dans le cadre d'image
x est egal à 100
toutes les 100 millisecondes pendant 3000 millisecondes :
Affiche image de départ dans le cadre d'image
Affiche image de fin dans le cadre d'image avec une transparence de x %
x est décrémenté de 3
fin de la boucle

Pour une petite idée, moins précise, dans les égouts de varsovie dans Ekphrasis, les yeux du héros peuvent s'habituer à l'obscurité, et à ce titre plusieurs couches d'un filtre opaques étaient plus ou moins superposées

JB
Avatar de l’utilisateur
JB
Grand Ancien
 
Messages: 510
Inscription: Mar Aoû 24, 2004 11:00 am
Localisation: Paris

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Ven Nov 07, 2008 7:49 am

Merci pour toutes ces infos....... Je testerai tout ça après le concours. :)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Mar Aoû 11, 2009 5:10 pm

Bon la programmation de mon jeu pour le concours se poursuit (je ne sais pas où en sont les autres). Mais là, j'ai vraiment un problème. Je souhaite ajouter un verbe dans le jeu, j'utilise une commande du genre :

Code: Tout sélectionner
Verb "monmot" * -> Monmot;


et la sub qui va avec :

Code: Tout sélectionner
MonmotSub[;

...

];


Ce que j'aimerai récupérer, c'est la chaine de mots qui suit ce que le joueur entre (monmot bonjour par ex.) Je crois qu'il faut rajouter qq chose après l'étoile dans la ligne "verb", genre " *multi " mais ça ne marche pas... la variable noun ne semble pas être remplie....

J'espère avoir été clair... merci d'avance.
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Stormi le Mar Aoû 11, 2009 5:36 pm

Le manuel inform contient ton bonheur sur ce sujet.

Dans la grammaire du verbe c'est "topic" qu'il faut mettre.

Ensuite surtout ne pas utiliser noun mais la méthode décrite dans le manuel pour lire un texte libre, chercher un truc sur la consultation d'un livre ou la conversation avec l'action Answer par exemple.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Mar Aoû 11, 2009 7:13 pm

Stormi a écrit:Ensuite surtout ne pas utiliser noun mais la méthode décrite dans le manuel pour lire un texte libre, chercher un truc sur la consultation d'un livre ou la conversation avec l'action Answer par exemple.

Ok "topic" à l'air de marcher. Pour récupérer le nom, je cherche à utiliser la variable NextWord() mais le système ne semble pas gérer cela comme une chaîne de caractères. Un
Code: Tout sélectionner
   print (string) NextWord();

me donne une erreur .... :x

Pourtant, un exemple dans le DM4 compare bien NextWord() à une chaîne...

Code: Tout sélectionner
before [ w1 w2 glyph;
         Consult:
             wn = consult_from;
             w1 = NextWord(); ! First word of subject
             w2 = NextWord(); ! Second word (if any) of subject
             if (consult_words==1 && w1~='glyph' or 'glyphs') glyph = w1;


Qu'ai-je fait de mal ?
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Stormi le Mar Aoû 11, 2009 9:31 pm

Inform 6 et les manipulations de chaînes de caractères, c'est une vraie galère. Un comble pour un langage dédié aux fictions interactives !

Il faut différencier les chaînes de caractère des mots simples. C'est stocké sous forme de tableaux différents en inform. À chaque fois que j'ai des manipulations de chaîne à faire je suis obligé de repasser par la case manuel inform, chapitre sur les chaînes de caractère, et encore je ne trouve pas toujours facilement.

(string) doit être pour afficher une chaîne de caractère, reste à trouver le bon "()" pour afficher un mot, je ne me rappelle plus de ce que c'est. (word) ? (noun) ?
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Jeu Aoû 13, 2009 9:36 am

C'est bon, j'ai trouvé. J'avais juste oublié la ligne
Code: Tout sélectionner
wn = consult_from;

avant de récupérer les mots avec NextWord()... :)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Sam Sep 05, 2009 10:08 am

Je viens de trouver un truc super en Inform pour faire en sorte qu'un objet soit visible partout sauf dans un lieu particulier : (vous connaissier peut-être mais j'ai mis longtemps à trouver, problème avec le false)

Code: Tout sélectionner
    found_in [;
        if (location ~= LieuA ) { return location ; } else {return false ;};
    ],


Avec "LieuA" l'endroit où on ne souhaite pas voir l'objet.

Autre petite question tout de même : j'ai ajouté dans un jeu la constante "Constant AMUSING_PROVIDED;", qui indique (quand le joueur gagne ou perds) un petit texte à ajouter. Seulement, je n'ai pas trouvé la sub à utiliser pour mettre ce texte.... Je pensais que c'était AmusingSub mais apparemment non :?:
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Akien le Mer Sep 09, 2009 8:52 pm

Je n'ai jamais utilisé cette constante mais je te conseille de jeter un oeil au code des « Lettres volées », je crois qu'Otto avait utilisé cette constante dans son jeu pour le concours, précisant quelques détails sympathiques incitant à recommencer le jeu ;)

EDIT: Je suis pas sûr que le code du jeu soit disponible facilement et c'est probablement de l'Inform 7 donc ce que je t'ai conseillé ne sert pas à grand chose ^^
J'ai regardé dans l'« InfoLib at your fingertips » de Roger Firth (très utile à garder sous la main si tu ne l'as pas), et AMUSING_PROVIDED renvoie à la routine Amusing(), donc si tu édites un [ Amusing; ]; plutôt qu'un [ AmusingSub; ]; ça marchera peut être.
Avatar de l’utilisateur
Akien
Grand Ancien
 
Messages: 298
Inscription: Mer Mai 09, 2007 1:31 pm
Localisation: En Allemagne, en France ou au Danemark, ça dépend

Re: Questions diverses sous GLULX et inform

Messagepar Eriorg le Jeu Sep 10, 2009 12:47 am

Le code source de Lettres volées est à l'adresse http://ifiction.free.fr/concours2008/le ... es_src.txt . Mais c'est bien de l'Inform 7 ! On dirait qu'en Inform 7, ça s'appelle "Rule for amusing a victorious player".

Par contre, il y a aussi le code source de Souterraine, qui est lui en Inform 6. Je ne connais toujours pas Inform, mais une simple recherche de texte me donne ceci, outre la "Constant AMUSING_PROVIDED;" :

Code: Tout sélectionner
[Amusing;
Borrarpantalla();eliminaventanagrafica();
! Oops
rtrue;
];
Avatar de l’utilisateur
Eriorg
Grand Ancien
 
Messages: 857
Inscription: Jeu Déc 14, 2006 8:03 am
Localisation: Suisse

Re: Questions diverses sous GLULX et inform

Messagepar Otto Grimwald le Jeu Sep 10, 2009 12:22 pm

oui effectivement cela doit être cela.
C'est traité dans ce chapitre du DM4 : http://www.inform-fiction.org/manual/html/s22.html#p171

Pour les sources des jeux en I7, ils ont fait une amélioration qui permet de bien séparer les fichiers sources des fichiers à distribuer, je suis en train de travailler à ressortir mes jeux avec ça, mais il y a encore un bogue d'affichage (pour les accents). On a en attendant accès à la source ici également (avec affichage en html) : http://ifiction.free.fr/concours2008/le ... ource.html

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Sam Sep 12, 2009 12:01 pm

Non, [Amusing; ne marche pas... mais je pense avoir trouvé une cause possible du problème : dans quel ordre doit-on ajouter les librairies françaises ? D'après le site de JL, elles sont toutes placées en tête du programme, et d'après l'exemple fourni, toutes sont au départ, sauf "FrenchG" qui est ajoutée à la fin...
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Otto Grimwald le Sam Sep 12, 2009 1:04 pm

je viens de tester dans le jeu d'intro qu'on avait débuté. Cela fonctionne comme prévu uniquement si on modifie verblib.h en commentant la ligne concernant AMUSING_PROVIDED :

Code: Tout sélectionner
!Default AMUSING_PROVIDED 1;


sinon cela fait une erreur bizarre :

line 37: Error: Expected new constant name but found AMUSING_PROVIDED
> Constant AMUSING_PROVIDED
line 37: Error: Expected ';' but found Include
> Include


ce n'est pas logique parce que "Default" cela veut dire ici "si c'est défini", donc cela ne devrait pas être indiqué comme étant déjà défini à cause de cela.

(edit : je n'ai pas compris, j'ai rajouté le commentaire dans verblib.h , puis je l'ai retiré, et maintenant cela compile correctement, voir l'exemple ici http://svn.tuxfamily.org/viewvc.cgi/inf ... nf?view=co . Il est très probable que j'ai modifié d'autres choses à d'autres endroits mais je ne vois pas quoi)

Avatar de l’utilisateur
Otto Grimwald
Très Ancien
 
Messages: 3031
Inscription: Mar Aoû 24, 2004 12:02 pm

Re: Questions diverses sous GLULX et inform

Messagepar Yoruk le Sam Déc 19, 2009 9:24 pm

Petites questions pratiques, merci d'avance de votre aide :

-je cherche à lister les objets contenus par un container, par exemple lors de before[; examine :
(ex : Le panier contient un fromage et un petit pot de beurre.)

-peut-on tester si un objet est présent dans le scope ? Un test genre
if (machin in scope) mais ça n'a pas l'air de marcher...

-est-il possible de tester si une chaine de caractère est vide ou non ?
if chaine=="" ou chaine == null ou chaine == default n'a pas l'air de fonctionner ...

-et enfin, peut-on ajouter des synonymes à un verbe existant sans modifier la bibliothèque ? J'entends que ces modifications ne concerneraient que mon jeu... La commande Verb ne semble s'appliquer aux verbes rajoutés par le programmeur.

Merci ! :)
Yoruk, SATOR AREPO TENET OPERA ROTAS
Avatar de l’utilisateur
Yoruk
Grand Ancien
 
Messages: 1065
Inscription: Lun Juin 11, 2007 9:50 am
Localisation: Chiddes, à 150 mètres du lavoir

Re: Questions diverses sous GLULX et inform

Messagepar Stormi le Dim Déc 20, 2009 12:39 pm

Pour lister les objets dans un container, il me semble que c'est le comportement par défaut du container de lister son contenu quand on regarde à l'intérieur.

Pour le scope je ne saurais pas répondre, mais je pense que le ou les chapitres du DM4 sur le sujet devraient aider.

Pour modifier un verbe existant je ne sais plus mais là encore le DM4 est assez complet à ce sujet.
Samuel V.
Avatar de l’utilisateur
Stormi
Grand Ancien
 
Messages: 1207
Inscription: Dim Avr 16, 2006 8:07 pm
Localisation: Lyon

Re: Questions diverses sous GLULX et inform

Messagepar Mule hollandaise le Dim Déc 20, 2009 1:57 pm

Sinon pour lister les objets d'un container, si ça ne se fait pas de lui-même dans l'interpréteur, tu dois pouvoir le faire avec un ObjectLoop - même si c'est beaucoup plus lourd...
Genre :
Code: Tout sélectionner
ObjectLoop( object in container;
     print object.name;
     move object to tampon;)
ObjectLoop( object in tampon;
     move object to container;)

(bon, mais je ne me souviens plus de la syntaxe pour ObjectLoop, regarde dans le DM4. Et pareil, je ne suis pas sûr pour object.name)

Et pour les verbes je ne comprends pas trop ton problème, j'avoue...
Plusieurs cas : si tu veux que 'subtiliser' soit synonyme de 'prendre' par exemple
Code: Tout sélectionner
Verb 'subtiliser'
* noun             -> Take;

Et si tu veux changer la réponse à un verbe qui existe déjà c'est :
Code: Tout sélectionner
 Extend 'verbe' replace
* noun             ->Verbenoun
* topic             ->Verbetopic;

(Et y'a qu'un seul point-virgule, même si tu fais plusieurs sens.)
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

PrécédenteSuivante

Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

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

cron