Je me suis mis à Inform 7...

Remerci. Je télécharge !

J’aimerai coder des objets. Je place

A boite is here. "Vous pouvez voir une boite".

Tout va bien, quand j’arrive dans le lieu, il m’affiche la phrase. Par contre, je souhaite ensuite spécifier les attributs de l’objet : je rajoute

A boite is here. "Vous pouvez voir une boite". The boite is openable.

Mais ça ne fonctionne pas. Comment puis-je faire, sachant que j’aimarai bien garder la première ligne telle quelle ? Merci :slight_smile:

(PS : Je poste depuis Esclinux ! Bon j’ai pas téléchargé la dernière version mais celle ci ne fonctionne pas trop mal… j’en recauserai plus tard :stuck_out_tongue: )

il faut dire qu’un objet est un container pour pouvoir l’ouvrir :

A boite is here. "Vous pouvez voir une boite". The boite is a female container and openable.

Pour esclinux, je continue encore à travailler dessus, peut-être que je vais sortir une prochaine version un de ces jours. J’ai mis à jour vers le dernier inform 7 en tout cas.

Aujourd’hui, j’ai enfin installé Inform 7 5T18 dont l’installateur traînait sur mon bureau. Tout va bien à l’installation, mais au moment de trafiquer les bibliothèques, drame : toute la structure du dossier système a été modifiée : il n’y a plus le répertoire library/natural où copier les biblis françaises.

J’ai cherché un peu partout, les bibliothèques sont introuvables… :frowning:

Une piste ? merci

Sinon, il y a quelques changements dans l’interface, dans la page « installed extensions » il m’affiche un très gentil :

En attendant de pouvoir compiler, j’ai parcouru l’aide, voici un extrait de ce qu’ils disent au niveau de la traduction (je ne sais plus si on en a déjà parlé)

ah oui, vu que c’était évidement pour moi je n’ai pas suffisamment précisé :
la dernière version d’inform permet d’éviter toutes ces bidouilles et à partir de l’installation de base d’inform, on a le français ou l’espagnol juste en rajoutant une seule extension, ce qui est très confortable.

La dernière version de l’extension française sur notre svn :

svn.tuxfamily.org/viewvc.cgi/inf … r_informfr
svn.tuxfamily.org/viewvc.cgi/inf … fr&view=co

(attention de bien le télécharger avec le bon encodage. De toute façon je vais prochainement en renvoyer la version améliorée sur le site officiel d’inform : inform-fiction.org/I7/Downlo … sions.html )

pour les alertes, c’est pas grave, tu peux d’ailleurs effacer ces fichiers qui ne sont plus nécessaire. Je te conseille même d’effacer tout le dossier inform7 dans les programmes, et de refaire une nouvelle installation. Pour les extensions dans le dossier utilisateur « inform », efface également les anciennes extensions francophones

Merci, ça fonctionne.

Dites, il manque la traduction de la commande :

         3:	print ", earning you the rank of ";

pour l’affichage du score dans le fichier French.i7x

on peut le traduire en :

         3:	print ", vous donnant le niveau de ";

:slight_smile:

Petites questions en vrac :

Comment effacer l’écran sous i7 ? [clear screen] ne marche pas…

Comment faire répéter l’affichage d’une ligne de texte n fois ?

Et, dans un bloc IF, comment permettre de comparer deux choses ? (if truc is true and bibule is false) then … je n’ai pas trouvé d’exemple dans l’aide…

Merci !

1/ il faut juste écrire :

clear the screen;

mais pas entre crochet (ce n’est pas comme une remise à la ligne)

2/

let repetition be 8; repeat with counter running from 1 to repetition begin; say "Mon petit texte qui se répète.[line break]"; end repeat;

(on peut simplifier en écrivant « repeat with counter running from 1 to 8 » bien entendu)

3/
si tu parles de conditions multiples, tu peux faire comme cela :

Instead of attacking MaireCorrompu when the location is not in Village: if the player is carrying a weapon or the player is metamorphosed begin; say "Il l[']attaqua [if bailli is in location]aidé en cela par le bailli [end if]et au terme d[']une lutte farouche, arriva à le tuer."; now MaireCorrompu is dead; remove MaireCorrompu from play; otherwise; say "Il n[']était pas suffisamment bien armé pour se battre."; end if.

si j’ai bien compris la question ?

ps : merci pour la remarque du score, c’est corrigé.

Merci. Pour le truc sur les conditions, je suis en train d’adapter ce que tu m’as donné.

Je ne retrouve plus ce qu’il faut indiquer pour qu’une action se déroule à chaque fois que l’on change de lieu (et que ça se déroule même si le lieu a déjà été visité). Je croyais que c’était

Instead of looking

mais ce n’est pas ça…(ça ne marche que pour le lieu d’arrivée). Ce n’est pas un truc du genre instead of coming nowhere … ?

Before going somewhere 

?

Ok ça marche.

Est-il possible d’afficher un caractère en indiquant son code ascii (en I7 )? Avec de l’unicode c’est possible, mais ascii je ne sais pas comment faire.

Mais je peux sans doute trouver le caractère qu’il me manque dans les tables Unicode, mais elles n’étaient pas fournies avec I7…

je ne comprends pas trop ce que tu veux faire. Avec say " " et le caractère en entier cela devrait fonctionner directement. Pourquoi as tu besoin du code ascii ? Ou sinon avec le code unicode effectivement, car cela sera le seul type de code que tu pourras entrer.

Je n’ai pas pensé a faire cela directement. Au cas où ça ne marche pas, où puis-je trouver les tables de caractères unicode ?

tu as la table ici mais c’est en hexadecimal
http://fr.wikipedia.org/wiki/Table_des_caractères_Unicode_(0000-0FFF)

ceci permet de convertir en decimal, accepté par inform :
statman.info/conversions/hexadecimal.html

par contre certains interpréteurs ne supportent pas tous les codes. Par exemple ʐ , que l’on voit ici :

sumale.vjf.cnrs.fr/phono/Reclang … ule=C100NL

et que l’on retrouve dans la table sous la ref. 0290 (656 en decimal) n’affiche rien de bien dans inform linux et windows si on l’appelle par « [unicode 656] »

En fait il faut que l’interpréteur puisse charger certaines polices gérant l’unicode pour que cela passe. Mais si tu t’en tiens à l’ascii, c’est bon.

une partie des pb est expliqué ici :
inform-fiction.org/I7/ex377.html

Je ne trouve pas le caractère que je souhaite afficher dans les tables unicode. Il s’agit tout simplement du carré plein, code ascii dos 219… (c’est pour dessiner en ascii dans un jeu en fait)

j’ai trouvé cela, qui semble convertir en unicode depuis l’ascii.

mikezilla.com/exp0012.html

pour ton carré, on trouve 9608 en décimal, ce qui fait 2588 en hexa, cf. ici :

iam.uni-bonn.de/~alt/html/unicode_172.html

dans inform cela ne s’affiche pas avec la police de base on dirait.

Pour le caractère, je n’ai pas réessayé. :blush:

Petite question : les NPC n’étant pas ma spécialité, comment puis-je, en inform7, coder un personnage posant des énigmes ? Il nous pose une énigme, puis le joueur réponds avec une phare genre « répondre lapin au sage » avec lapin étant la solution bien sûr. Une idée ?

(Le seul truc que je sais faire c’est gérer une réponse en fonction d’une question du joueur, genre « interroger sage a propos de sacoche » …)

là comme ça je ne vois pas trop, à part rajouter un verbe spécial pour cela, et déclencher l’action de la question en fonction de scenes spécifiques par exemple…

Réponse pour inform 6, à transposer en 7 pour que ça marche.

Je t’invite à revoir le résumé des principales actions de communication en inform que j’ai fait plus tôt sur le forum (il faudrait que je le reprenne pour en faire un fil séparé en post-it) : Parler et verbes de communication dans la lib francophone - #4 par Stormi
Ce que tu sais gérer (interroger), c’est l’action « Ask ». Pour réagir à une simple phrase, c’est « Answer » (marche avec « répondre » ou « dire »). Après la difficulté c’est qu’avec Answer c’est à toi de gérer n’importe quelle solution donnée par le joueur (imaginons que le joueur réponde « petit lapin » au lieu de « lapin »…).
Je t’invite à aussi gérer « Tell » au cas où le joueur tape « Parler du lapin au sage » pour donner sa réponse, ce qui génère non pas Answer mais Tell avec le sujet « lapin » ici.

Ok merci je vais essayer comme ça. Je vais voir avec les exemples donnés.