Bonsoir à toutes et à tous
Je suis nouveau dans l’écriture de Fiction Interractives (c’est la faute au tuto de Farvardin chez les zéros ) et j’utilise Inform 7.
Ayant déjà joué à certaines IF, je sais que l’on peut stopper l’affichage du text et afficher la suite en appuyant sur espace ou entrée (comme dans FILAMENTS par exemple), mais je ne sais pas comment le faire sur ma fiction
Une idée pour moi ?
En tant que vieux dinosaure qui n’est pas encore passé à Inform 7, je ne peux pas te répondre mais Otto (alias Farvardin) ou un autre le fera sans doute rapidement.
En attendant, je te souhaite la bienvenue
Bonsoir et bienvenue Ciseur68 !
C’est facile à faire, il faut inclure une extension (qui est déjà fournie avec Inform 7), en tapant tout d’abord dans le code :
Include Basic Screen Effects by Emily Short.
Ensuite, durant ton jeu, tu peux ajouter une attente terminée par n’importe quelle touche en tapant :
wait for any key;
voire même pour effacer l’écran ensuite :
clear the screen;
Par exemple si on veut que le joueur soit assomé et transporté dans une autre salle, on peut donner cet effet de transition :
Instead of attacking super méchant:
say "Votre ennemi a le dessus et il vous assome.";
wait for any key;
clear the screen;
move player to prison.
(je pense que l’on peut ne proposer qu’une seule touche prédéfinie avec « wait for the enter key » par exemple, mais c’est plus limité comme utilisation)
Bienvenue Ciseur68 !
Ça fait plaisir de voir que le tuto d’Otto (aka Farvardin) fait déjà des intéressés qui veulent s’essayer à l’IF et éventuellement grossir nos rangs.
Pour ma part je suis toujours sous Inform 6, mais je n’exclus pas de passer à Inform 7 un jour (quand j’aurais le temps par exemple, et si Stormi ne me recrute pas avant pour traduire TADS 3 :p).
Merci beaucoup à tous de votre accueil chaleureux et de votre rapidité de réponse
Étant en train de rédiger ma première fiction interactive (rien de grand hein, c’est juste histoire de vérifier si je suis capable de faire ce que je veux avec ce langage ^^), je me confronte à un nouveau petit problème : j’aimerais que le joueur puisse accéder à une aide sur le fonctionnement du jeu en tapant aide, mais comme il ne s’agit pas d’un verbe, je ne sais pas trop comment faire. Alors si une ou plusieurs solutions sont possible(s), je suis preneur ^^
Merci à vous tous
PS à Otto : Tu as parlé d’une suite éventuelle pour ton tuto, alors saches que si tu la fait, tu fera au moins un heureux
Tu peux aller étudier ce code disponible ici :
svnweb.tuxfamily.org/filedetails … 2Fstory.ni
(il faut le télécharger pour l’affichage correct des caractères, en utf8)
Il y a 2 manières de procéder, la simple, et la plus complexe.
D’abord la simple, pour des besoins basiques :
À la partie sur les crédits, il y a :
Understand "credits" and "credit" as a mistake ("bla bla")
Cela veut dire : « credits » et « credits » ne sont pas des commandes habituellement reconnues (c’est à dire des phrases qu’on peut customiser à loisir, dans un contexte particulier), donc mettre une réponse-type lorsqu’on tape ces mots. Ici on s’en sert pour donner des informations sur les remerciements en rapport avec ce jeu. Si l’aide n’est pas destinée à être conceptuelle, on peut utiliser la même astuce :
Understand "aide" as a mistake ("Pour finir le jeu, il faut entrer dans le château par la trappe dans la cabane à l'extérieur etc etc")
L’autre manière plus complexe (mais pas si difficile que cela) c’est de redéfinir « aide » comme un nouveau verbe.
Dans le même code donné en lien plus haut, on a par exemple le code du verbe « astuce »
Hinting is an action applying to nothing. [Cela veut dire que c'est un verbe intransitif, sans complément, s'il y en avait un, on dirait "... applying to one thing". Ici on utilise le mot anglais (hint = astuce), pour pouvoir l'utiliser dans le contexte d'inform7, car il me semble que cela attend un -ing à la fin. On aurait pu écrire "Astucing" mais c'est un peu ridicule.]
Understand "astuces" or "astuce" or "hint" or "hints" as hinting. [ici on écrit les mots-clés qui seront reconnus par l'interpréteur pour déclencher l'action du verbe. On ajoute également les mots anglais pour être plus cohérent et aider nos amis anglophones et francophiles qui pourraient être tentés de jouer à nos jeux...]
Carry out hinting: [ici c'est pour indiquer la conséquence de l'appel de ce verbe dans le jeu]
say "Dans ce jeu vous devez trouver un moyen de réparer votre voiture, et éventuellement de ne pas trop perdre vos précieuses affaires.[paragraph break]"; [cette phrase sera toujours affichée]
if the location is in BordureDeRoute and Citroen is not in Petite route descendante, say "-> Pour le moment tout va bien, mais cela ne va pas durer. Essayez de continuer la route vers le sud pour voir..."; [ici on a des conditions pour afficher des indications selon le lieu où on se trouve, si certains objets ont certaines propriétés ou se trouve à un certain endroit etc...]
if the location is in BordureDeRoute and Citroen is in Petite route descendante, say "-> Essayez d[']examiner votre voiture et d[']ouvrir ses divers compartiments.";
[/.../]
say "[line break]Il n[']y a pas d[']autres astuces pour le moment, mais vous pourrez réessayer cette commande dans un autre contexte pour découvrir de nouvelles suggestions.".
Je rajouterai cette explication dans la version 2 du tutoriel sur le site du Zéro.
Merci beaucoup, grâce à toi, j’avance à pas de géants dans ma mini IF
Il faudra sûrement s’attendre à ce que je repose une ou deux questions, mais pour l’instant, tout va bien ^^
Bon après-midi
Edit : Et me revoilà Pour une question ^^
J’aimerais créer une sorte de score sans avoir à affiché notre score à la fin d’une partie. J’ai cherché dans le manuel pour créer une variable, mais quand je reproduis ce qu’ils disent, il me mettent que mon mot n’est pas une valeur, etc.
Quelqu’un pourrait-il me montrer les quelques lignes qui définissent une variable ?
Merci d’avance
De rien. Sinon il vaut mieux créer un nouveau sujet plutôt que d’éditer, parce que sinon on ne voit pas forcément qu’il y a une nouvelle question
Pour ton problème, il y a 2 possibilités pour résoudre cela :
- De façon générale pour utiliser une nouvelle variable, il suffit d’utiliser la forme (ici un peu artificielle, car on peut faire mieux, voir plus bas) :
[code]NbDeSouvenirs is a number that varies.
When play begins:
now NbDeSouvenirs is 0. [à rajouter dans l’initialisation générale pour initialiser la variable. Peut-être que l’on peut écrire aussi lors de la création de la variable : NbDeSouvenirs is 0 (à tester)]
Instead of thinking:
say « Vous pensez à un truc agréable. »;
increase NbDeSouvenirs by 1. [On incrémente la valeur de la variable par 1 lors d’une action particulière][/code]
Mais si on souhaite que le même nom de variable soit utilisé par plusieurs objets, on peut aussi écrire :
[code]A person has a number called souvenir. The souvenir of player is 0. The souvenir of belle princesse is 0. [initialisation directe]
Instead of thinking:
say « Vous pensez à un truc agréable. »;
increase the souvenir of player by 1.
Instead of kissing belle princesse:
say « Vous embrasser la princesse qui rougit. »;
increase the souvenir of belle princesse by 1.[/code]
- La seconde possibilité pour ton histoire de score, c’est de bidouiller ainsi :
[code]Use no scoring. [on dit qu’il n’y a pas de score dans le jeu, ainsi cela désactive le verbe qui donne le score, et à la fin du jeu il n’y a pas de mention du score, mais le reste est fonctionnel.]
Instead of attacking mechant:
say « Vous maîtrisez le méchant et le conduisez en prison. »;
remove mechant from play;
award 1 point. [award c’est le mot clé qui permet d’augmenter le score. Il sera ainsi augmenté de façon invisible, mais cela ne sera pas notifié au joueur.]
After talking to juge:
if the score is greater than 3, say « Vous avez résolu [score] affaires criminelles, bravo M. le détective ! ».[/code]
Bien entendu, dans un cas comme cela, cela pourrait être plus logique d’utiliser le système de variable plus haut, mais j’indiquais également cette possibilité au cas où.
Merci beaucoup (encore une fois ^^) pour ta réponse. J’ai pris la troisième solution, mais les autres me seront probablement encore utiles.
Alors que je suis en pleine rédaction de ma IF, un tout petit problème se pose encore à moi :
Lorsque je met le code ci-dessous, j’ai une contradiction avec l’extension française d’inform qui dit par défaut que le personnage est habituel.
The description of yourself is "Gnagnagna".
Comment puis-je alors choisir la description de mon perso ?
Merci beaucoup
Bonne soirée
essaye : Instead of examining player, say « bla bla bla. ».