Styles et couleurs du texte sous Inform

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

Modérateurs: Stormi, Otto Grimwald

Styles et couleurs du texte sous Inform

Messagepar auraes le Jeu Juil 24, 2014 2:34 pm

Inform 6 est assez riche concernant le style est la couleur du texte affichable à l'écran. Avec une petite routine sur-mesure, il est aisé de formater son texte à son gré. Il est ainsi possible d'écrire dans son source :
Code: Tout sélectionner
print "Ceci est i<un bout de texte> en italique"
Le principe est d'encadrer la portion de texte concernée dans des balises '<' '>' et de faire précéder la première d'un style.
Les styles sont combinables :
Code: Tout sélectionner
print "Ceci est b<i<3<w<un bout de texte> en italique"
Cela affiche un texte gras en italique de couleur rouge sur fond bleu.
C'est testable ici : http://auraes.free.fr/parchment/?story=http%3A//auraes.free.fr/ldveh/Game/test.z5.js

Il est aussi possible, cela n'est pas implanté dans l'exemple, de définir un style sur un seul mot avec le symbole #.
Code: Tout sélectionner
print "Ceci est un #mot de texte en #gras"
Les mots précédés d'un #, s'affichent avec un style par défaut; ce qui permet de conserver un source très lisible.

Il y a une balise t<>pour temporiser le texte, mais il semble, comme avec le jeu Life On Mars? d'Hugo Labrande, que sous parchment la fonction KeyDelay(time) (waits time tenths of a second for a single key. If no key is pressed within that period it returns zero; otherwise it returns the character from 1-255.) soit boguée.

Et pour Inform 7 !? Les styles; les couleurs ?
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Mule hollandaise le Jeu Juil 24, 2014 4:25 pm

:shock: !

Quand tu dis "avec une routine sur-mesure", tu veux dire avec une routine que tu as fait ? En tout cas je n'en trouve pas trace ailleurs (et ça marche pas avec mes libs sous windows, mais c'est inform 6.32).
Ca m'intéresse beaucoup, parce que pour l'instant j'écris " style underline; print "mot"; style roman; print " la suite"; " et c'est embêtant :p
Ca me semble quelque chose de très pratique pour faire des jeux plus jolis - et j'ai des vélléités de gros jeux Glulx pour des projets futurs, alors ça m'intéresse :wink:


Justement, en I7 y'a des balises du genre "[italic type]ceci est en italique mais [roman type] pas cela". C'est un peu le même concept, même si je préfère le concept "début balise - fin balise" - c'est plus clair et ça ressemble plus à d'autres systèmes, comme le HTML.

Question : pour le caractère #, c'est quelque chose que tu définis ailleurs dans le code source et ensuite ça s'applique sur tous les mots qui commencent par ça ? Et comment on fait si on veut afficher le caractère # dans un string, c'est prévu ?
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Natrium le Jeu Juil 24, 2014 8:49 pm

Oui, pour I7, tout est intégré, et il y a des moyens pour raccourcir les notations si on n'aime pas taper « [italic type] » à chaque fois (pour par exemple mettre [ i ] [ /i ] comme Mule le préfère).

Pour les couleurs, il faut utiliser l'extension « Basic Screen Effects », et c'est tout aussi facile à utiliser : « [red letters] », par exemple.

Moi, ce qui me gêne, c'est les couleurs limitées avec glulx. Apparemment, on a le droit qu'à deux style personnalisés en plus de l'italique, le gras et la largeur fixe, et donc on peut utiliser deux couleurs seulement (à moins de modifier les styles précédents, si on n'en a pas besoin). L'avantage, c'est qu'on peut choisir n'importe quelle couleur existante.

Personne ne sait si glulx permet d'autres options de couleurs ?
Avatar de l’utilisateur
Natrium
Grand Ancien
 
Messages: 1185
Inscription: Mar Oct 04, 2011 11:18 pm

Re: Styles et couleurs du texte sous Inform

Messagepar StephaneF le Ven Juil 25, 2014 8:02 am

" red letters " ? je viens de tester et j'ai une erreur à la compilation. Pourtant l'extension est bel et installée :(

edit : ah, autant pour moi, ça n'est que pour la Z-machine
Avatar de l’utilisateur
StephaneF
Grand Ancien
 
Messages: 554
Inscription: Jeu Déc 27, 2007 3:53 pm
Localisation: Moselle

Re: Styles et couleurs du texte sous Inform

Messagepar Natrium le Ven Juil 25, 2014 5:08 pm

C'est justement ce de quoi je me plaignais, Azathoth. :)

Au fait, dans Azthath, comment tu as géré les couleurs ? Tu as modifié les styles comme le bold, ou tu as utilisé les styles perso ?
Avatar de l’utilisateur
Natrium
Grand Ancien
 
Messages: 1185
Inscription: Mar Oct 04, 2011 11:18 pm

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Sam Juil 26, 2014 8:06 am

Mule hollandaise a écrit:Quand tu dis "avec une routine sur-mesure"
Un exemple de code (perfectible !) :
Code: Tout sélectionner
!% -Cu
Constant MAX_BUFTXT 256;
Constant ROMAN 0;
Constant BOLD 2;
Constant BALISE '#';

Array bufTxt buffer MAX_BUFTXT;

Include "Parser";
Include "VerbLib";

[ printf txt   i c;
   !On copie la chaîne dans le buffer : bufTxt, ce qui la décompacte(zcode uniquement) et la rend accessible
   !La longeur de la chaine ne doit pas être supérieur à MAX_BUFTXT
   PrintToBuffer(bufTxt, MAX_BUFTXT, txt);
   
   !On parcourt le chaîne du buffer caractère par caractère
   for (i = 0 : i < bufTxt-->0 : i++) {
      c = bufTxt->(WORDSIZE + i);
      
      !On traîte la balise éventuelle
      if (c == BALISE) {
         @set_text_style BOLD;
         continue;
      }
      
      !on annule l'effet de la balise
      if (c == ' ') !or '.' or ',' or ';'
         @set_text_style ROMAN;
      
      !On affiche le caractère à l'écran
      print (char) c;
   }
   
   !On quitte avec les valeurs par défaut
   @set_text_style ROMAN;
];

Object room "Balise Bold"
with
   description [;
      Printf("Test d'une chaîne de #caractères avec une #balise définit par défaut en #bold.^");
   ],
has light;

[ Initialise;
   location = room;
];
Include "Grammar";
Pour utiliser des balises de type i<TEXTE> ou [ i ]TEXTE[ /i ], le traitement des balises est plus complexe, mais le principe reste le même.
Si quelqu’un veut tester pour Glulx et éventuellement l'adapter. Glulx, que je trouve particulièrement indigeste (mieux vaut un langage C avec la librairie SDL2 !?)

Concernant les styles, il est préférable d'utiliser directement, dans le source, l'instruction @set_text_style plutôt que la classique : style roman/bold/underline/reverse/fixed. @set_text_style accepte en argument une variable ou une constante, ce qui permet de combiner les styles (si l’interpréteur le permet) avec un opérateur binaire :
Code: Tout sélectionner
Constant ROMAN     0;
Constant BOLD      2;
Constant UNDERLINE 4;            
Constant REVERSE   1;
Constant FIXED     8;

@set_text_style UNDERLINE | BOLD;
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar StephaneF le Sam Juil 26, 2014 9:22 am

Natrium a écrit:C'est justement ce de quoi je me plaignais, Azathoth. :)

Au fait, dans Azthath, comment tu as géré les couleurs ? Tu as modifié les styles comme le bold, ou tu as utilisé les styles perso ?


j'ai juste utilisé les possibilités d'une extension, je ne sais plus laquelle (l'une d'Emily Short je pense)

tu peux définir deux styles perso : " first custom style " (le bleu, chez moi) et " second custom style " (en rouge)

il me semble que que " flexible windows " de Jon Ingold permet aussi de jouer avec les couleurs
Avatar de l’utilisateur
StephaneF
Grand Ancien
 
Messages: 554
Inscription: Jeu Déc 27, 2007 3:53 pm
Localisation: Moselle

Re: Styles et couleurs du texte sous Inform

Messagepar Mule hollandaise le Sam Juil 26, 2014 1:11 pm

Super, merci Auraes - je note cette routine dans un coin :) je connaissais pas @set_text_style (le nombre de trucs en I6 que je connais pas, pfff...) En tout cas c'est vrai que la routine n'est pas si compliquée quand on prend tout par le bon bout !
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Lun Juil 28, 2014 7:11 am

Pour afficher le code source de jeux sur un site web, comme le fait Hugo Labrande sur son site, il y a http://pygments.org/ qui permet notamment une conversion html d'un fichier source Inform6 (ou I7) avec coloration syntaxique. Il y a de nombreux styles disponibles. J' ai essayé avec ma princesse adorée de Hugo : http://auraes.free.fr/tmp/princesse.html

auraes a écrit:Il y a une balise t<>pour temporiser le texte, mais il semble, comme avec le jeu Life On Mars? d'Hugo Labrande, que sous parchment la fonction KeyDelay(time) soit boguée.
Si certain veulent tester la fonction KeyDelay(time) avec parchment sur différents Os et navigateurs : L'alphabet doit s'afficher caractère par caractère et non pas bloquer sur la première lettre en attendant l'appuie sur une touche.
Parchment : http://auraes.free.fr/parchment/?story=http%3A//auraes.free.fr/ldveh/Game/key_delay.z5.js
Le fichier source : http://auraes.free.fr/tmp/key_delay.html
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Mule hollandaise le Lun Juil 28, 2014 6:45 pm

Oooouh c'est cool ça Pygments ! Merci du tuyau ! :) Je ne vois pas Inform 6 dans la liste, par contre, quel langage tu as sélectionné ?
En tout cas je pense bien que je vais rajouter ça sur mon site !

Pour Parchment : Windows 7 + IE = ça bloque sur A, Windows 7 + Firefox pareil. (La flemme de rebooter sur Linux... :p )
Niveau téléphones (mais bon est-ce que Parchment c'est fait pour...), Android 4.4.4 + Chrome ça bloque aussi sur A, Android 4.4.4 + Opera Mini pareil, et iPhone 4 + Safari pareil !
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Lun Juil 28, 2014 7:20 pm

Mule hollandaise a écrit:Je ne vois pas Inform 6 dans la liste, par contre, quel langage tu as sélectionné ?
J'ai pris la version en développement sur https://bitbucket.org/birkenfeld/pygments-main
Et pour convertir ton source Inform : http://pygments.org/docs/cmdline/
Code: Tout sélectionner
python pygmentize -O full,style=emacs -o princesse.html princesse.inf
ou :
python pygmentize -O full,style=emacs -O encoding=utf-8  -o princesse.html -l inform6 princesse.inf
Si tu ne spécifies pas le langage du fichier source, il le reconnaît automatiquement par l'extension .inf, sinon c'est l'option -l inform6 ou i6, inform7 ou i7.

Pour parchment, il y a sûrement un bogue qu'il faudrait signaler. Si quelqu'un a un compte Google : https://groups.google.com/forum/#!forum/parchment

Sinon, si tu peux aller jeter un œil http://www.intfiction.org/forum/viewtopic.php?f=19&t=15730, je ne comprends pas pourquoi ils ne veulent pas faire les corrections sur la version html du DM4 !? Ils se trimbalent une documentation avec des erreurs, alors que les corrections existes !? http://inform-fiction.org/patches/misprints.html
Dernière édition par auraes le Ven Aoû 15, 2014 10:12 am, édité 1 fois.
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Mule hollandaise le Mar Juil 29, 2014 2:57 pm

Super, merci pour les infos.
Pour Parchment, c'est fait : Dannii a répondu "il n'y a pas de support du temps sur Parchment pour l'instant, et c'est pas très haut dans la liste des priorités, mais peut-être un jour". Dommage, ça veut dire que personne peut jouer à "Life On Mars?" sur Parchment :(
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Mar Juil 29, 2014 4:23 pm

O.K. Merci. Ton anglais semble très bon... c'est pas juste !
Méfies-toi de la temporisation avec PrintToBuffer() quand tu as des textes ou des fonds en couleurs : Gargoyle-frotz n'aime pas trop !
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Ven Aoû 15, 2014 10:26 am

J'ai mis à jour la ligne de commande pour http://pygments.org/ :
Code: Tout sélectionner
python pygmentize -O full,style=emacs -O encoding=utf-8 -l inform6 -o destination.html source.inf
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Otto Grimwald le Ven Aoû 15, 2014 3:06 pm

Dommage, ça veut dire que personne peut jouer à "Life On Mars?" sur Parchment


peut-être qu'il est possible de faire une version de "life on mars" avec des "press a key" au bon moment, plutôt qu'une temporisation ? Même sans parchment, j'avais eu du mal en ligne de commande (fizmo) et dans gargoyle donc il doit y avoir moyen d'optimiser la manière dont c'est affiché.

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

Re: Styles et couleurs du texte sous Inform

Messagepar Mule hollandaise le Dim Aoû 24, 2014 1:40 pm

En fait, j'aime bien jouer avec la manière dont le texte est affiché :wink: Je m'en sers aussi dans Homeland Security (juste après la première scène), du coup ça veut dire que sur Parchment ça marche pas super non plus (mais c'est moins injouable que Life on Mars). Il faut que je réfléchisse à une option "désactiver l'affichage progressif" dans le menu d'aide, peut-être, ça devrait pas être très difficile. Mais je trouve ça un peu dommage - enfin, mieux vaut désactiver un effet que refroidir un joueur...
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Mule hollandaise le Mar Sep 16, 2014 3:51 am

Je viens de mettre à jour mon site pour y inclure les versions pygmentées de mes codes source. Merci auraes !
A tout hasard, est-ce que tu saurais comment faire pour faire des retours à la ligne automatiques dans la page générée ? (ie qu'il n'y ait pas besoin de scroller horizontalement dans le navigateur) Je trouve ça plus lisible.
Mule hollandaise
Grand Ancien
 
Messages: 1126
Inscription: Mar Aoû 29, 2006 10:57 pm

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Mar Sep 16, 2014 12:38 pm

Mule hollandaise a écrit:est-ce que tu saurais comment faire pour faire des retours à la ligne automatiques dans la page générée ?
Non. Il y a sûrement une solution en CSS et/ou de bonnes habitudes à prendre dans le code source. La mauvaise indentation du code me semble plus gênante que l'absence de retour à la ligne du texte.
Pourquoi le source n'est pas en UTF-8 ?

En tout cas, cela permet de se rendre compte du travail colossale que semble être la conception et le codage d'un jeu en inform ! Quel courage...

(Dans Life on Mars, dans l'objet moimeme, il y a une erreur avec le random(6) qui retourne une valeur de 1 à 6 et non de 0 à 5.)
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Re: Styles et couleurs du texte sous Inform

Messagepar Otto Grimwald le Mar Sep 16, 2014 2:44 pm

est-ce que tu saurais comment faire pour faire des retours à la ligne automatiques dans la page générée ?


Oui c'est possible, il faut rajouter dans le code, à la partie sur "pre" ceci :

Code: Tout sélectionner
pre { line-height: 125%; white-space: pre-wrap }


et ça retournera automatiquement à la ligne lorsque c'est nécessaire (en fonction de la taille de la fenêtre) ce qui sera beaucoup plus lisible. Je ne comprends pas qu'ils n'aient pas mis cela par défaut.

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

Re: Styles et couleurs du texte sous Inform

Messagepar auraes le Mar Sep 16, 2014 5:01 pm

Otto Grimwald a écrit: Je ne comprends pas qu'ils n'aient pas mis cela par défaut.
Ma ligne de commande est peut-être incomplète ou erronée ?
http://pygments.org/docs/formatters/ : class HtmlFormatter

En tout cas, c'est satisfaisant avec white-space: pre-wrap, bien que l'indentation ne soit pas respectée.

Pour les tabulations — trop fortes à mon goût, j'ai trouvé ça :
http://www.w3schools.com/cssref/css3_pr_tab-size.asp
Il n'y a rien de plus universel ? (-moz-tab-size: 16 pour Firefox)
Avatar de l’utilisateur
auraes
Grand Ancien
 
Messages: 348
Inscription: Ven Avr 11, 2008 9:15 pm

Suivante

Retourner vers Questions techniques et aide pour votre code

Qui est en ligne

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

cron