Inform e Glulx/Inform e Glulx/I colori e gli stili del testo
I colori e gli stili del testo
[modifica | modifica sorgente]Esaminiamo ora il quarto esempio (sgw_test_it_STYLE):
Constant Story "Test per sgw";
Constant Headline
"^Simple Glulxe Wrapper (sgw)
^di Alessandro Schillaci^^";
Constant NOGRAPHICS;
Constant NOSOUND;
Constant SCBACK CLR_GG_BLACK;
Constant SCTEXT CLR_GG_WHITE;
Constant SCEMPH CLR_GG_YELLOW;
Constant SCHEAD CLR_GG_RED;
Constant SCINPU CLR_GG_ORANGE;
Include "Parser";
Include "sgw.h"; ! Inclusione della libreria SGW
Include "Infglk";
Include "VerbLib";
Include "Replace";
Include "sgw_test_it_STYLE.bli";
! ----------------------------------------------------------------------
Object room_1 "room 1"
with description [;
print (s_emph) "Emphasized", "^";
print (s_bold) "Bold", " (come in Inform)^";
print (s_pref) "Preformatted", "^";
print (s_fixed) "Fixed", " (come in Inform)^";
print (s_head) "Header", "^";
print (s_subhead) "Subheader", "^";
print (s_alert) "Alert", "^";
print (s_reverse) "Reverse", " (come in Inform)^";
print (s_note) "Note", "^";
print (s_underline) "Underline/Italic", " (come in
Inform)^";
print (s_block) "BlockQuote", "^";
print (s_input) "Input", "^";
],
has light;
! ----------------------------------------------------------------------
[ Initialise;
initializeSGW(0);
location = room_1;
];
! ----------------------------------------------------------------------
Include "ItalianG";
Il risultato che si ottiene è il seguente:

ovvero un esercizio che illustra alcuni colori e tutti gli stili del testo che si possono ottenere con Glulx. Per quanto riguarda invece i primi, questa estensione ne prevede di default ben dodici:
|
Anche se i colori mostrati in questa tabella sono quattordici, in realtà il magenta e il ciano sono gli equivalenti rispettivamente del viola e dell’azzurro. A ogni modo, le costanti alle quali è possibile assegnarli, sono sei[1]:
Constant SCBACK CLR_GG_BLACK;
Constant SCTEXT CLR_GG_WHITE;
Constant SCEMPH CLR_GG_YELLOW;
Constant SCHEAD CLR_GG_RED;
Constant SCINPU CLR_GG_ORANGE;
Constant SCSOFT CLR_GG_BLUE;
La prima (SCBACK), controlla il colore dello sfondo; la seconda (SCTEXT) controlla i colori del testo normale e nello stile alert/reverse; la terza (SCEMPH) controlla i colori del testo negli stili emphasized/bold (il grassetto) e header (il titolo del gioco); la quarta (SCHEAD) controlla i colori del testo nello stile subheader (il titolo della stanza); la quinta (SCINPU) controlla i colori del testo negli stili preformatted/fixed, note/underline (il corsivo), blockquote e input (il testo digitato dal giocatore); la sesta (SCSOFT) controlla i colori degli stili personalizzati (che sono usati molto di rado).

Oltre ai colori standard, e possibile definirne molti altri. Glulx, infatti, prevede che questi siano dichiarati nel formato esadecimale come nel seguente esempio:
Constant SCBACK $110101;
Constant SCTEXT $DDBB99;
Constant SCSOFT $665544;
Constant SCEMPH $FFFFDD;
Constant SCHEAD $EEDDAA;
Constant SCINPU $DDEEAA;
che ripristina i colori originali dei primi tre esempi. Non preoccupatevi comunque: ogni buon programma di grafica infatti[2], riporta sulla sua tavolozza dei colori anche il valore esadecimale di ogni colore da voi selezionato o creato con essa.

E per quanto riguarda gli stili del testo? Diamo un’occhiata più da vicino all’oggetto Room1:
Object room_1 "room 1"
with description [;
print (s_emph) "Emphasized", "^";
print (s_bold) "Bold", " (come in Inform)^";
print (s_pref) "Preformatted", "^";
print (s_fixed) "Fixed", " (come in Inform)^";
print (s_head) "Header", "^";
print (s_subhead) "Subheader", "^";
print (s_alert) "Alert", "^";
print (s_reverse) "Reverse", " (come in Inform)^";
print (s_note) "Note", "^";
print (s_underline) "Underline/Italic", " (come in
Inform)^";
print (s_block) "BlockQuote", "^";
print (s_input) "Input", "^";
],
has light;
Lo stile Emphasized è stampato a video dalla funzione di stampa (s_emph); lo stile Bold (equivalente a Emphasized) da (s_bold); lo stile Preformatted da (s_pref); lo stile Fixed (equivalente a Preformatted) da (s_fixed); lo stile Header da (s_head); lo stile Subheader da (s_subhead); lo stile Alert da (s_alert); lo stile Reverse (equivalente ad Alert) da (s_reverse); lo stile Note da (s_note); lo stile Underline (equivalente a Note) da (s_underline); lo stile BlockQuote da (s_block); lo stile Input, infine, da (s_input).
Note
[modifica | modifica sorgente]- ↑ La gestione dei colori in Glulx è diversa da Inform; qui infatti, la variabile
clr_on(usata da quest’ultimo per stabilire se attivare o meno i colori come spiegato nel quinto capitolo) è totalmente ignorata. - ↑ Uno di questi è sicuramente Paint Shop Pro della Jasc Software, che vi consiglio assolutamente di provare.