Blue Lacuna — 110 of 467

Aaron A. Reed

Release 4

Section - Setting the Keyword Style

Setting the keyword style is an action out of world applying to nothing. Understand "keyword" or "keywords" as setting the keyword style.

Carry out setting the keyword style:

let mychar be 1;

now we-are-keyword-setting is true;

while mychar is not 0 begin;

clear the screen;

[ clear saved cache;]

say "There are three types of emphasized keywords in Blue Lacuna. It is important that your interpreter program correctly displays all three with some form of emphasis. Type a number below to cycle through display options until you find one that displays clearly on your system.[paragraph break]";

say "1) Emphasized [o]object[x] keywords currently look like [o]this[x].[line break]2) Emphasized [d]exit[x] keywords currently look like [d]this[x].[line break]"; say "3) Emphasized [t]topic[x] keywords currently look like [t]this[x].[paragraph break]";

say "4) [as the parser]Messages from the parser currently display like this[as normal].[paragraph break]During conversation, topic keywords are normally shown in a small window at the bottom of the screen. If this window or its contents are not clearly visible, press 5 to try an alternate style.[paragraph break]5) Change the style of the topic window to [if out-of-line keywords is 1]a large window[else if out-of-line keywords is 2]display inline before the prompt[else]a small bottom window (default)[end if].";

if output-style of object-word is 8 or output-style of direction-word is 8 or output-style of topic-word is 8, say "[line break]**A warning: The emphasized keywords are integral to Blue Lacuna's design. It may be difficult or impossible to know how to continue if emphasis is not visible.**[line break]";

if ( output-style of object-word is output-style of direction-word ) or ( output-style of object-word is output-style of topic-word ) or ( output-style of direction-word is output-style of topic-word ) , say "[line break]**A warning: it may at times be useful to be able to differentiate between the various kinds of keyword.**[line break]";

say "[line break]Press 0 when you're finished here.[run paragraph on]";

if out-of-line keywords < 3, follow the drawing rule of the topics-window;

if out-of-line keywords >= 3 begin;

say line break; generate ool list; if screen reader mode is true, say "Press 0 to begin."; say paragraph break;

end if;

now mychar is single-character - 48;

if mychar is 1 begin; advance style with object-word;

otherwise if mychar is 2; advance style with direction-word;

otherwise if mychar is 3; advance style with topic-word;

otherwise if mychar is 4; advance style with parser-word;

otherwise if mychar is 5; toggle ool;

end if;

end while;

[ clear saved cache; ]

if topics-window is g-present, shut down topics-window;

now we-are-keyword-setting is false;

if turn count <= 0 begin;

follow the very-beginning rule;

otherwise;

clear the screen;

if Prologue is happening, say manorwoman2;

else try looking;

end if.

we-are-keyword-setting is a truth state that varies.

To generate ool list:

if out-of-line keywords is 3, show topics.

Definition: a thing is mentionable if it is enclosed by location and ( it is a prop or it is a setpiece ) and it is not part of a thing and its printed name is not "".

To toggle ool:

increase out-of-line keywords by 1;

if out-of-line keywords > 3, now out-of-line keywords is 1;

if out-of-line keywords < 3 begin;

if topics-window is g-present, shut down the topics-window;

if out-of-line keywords is 2, now the measurement of the topics-window is 5;

otherwise now the measurement of the topics-window is 3;

open up the topics-window;

follow the drawing rule of the topics-window;

otherwise;

shut down the topics-window;

end if.

Before reading a command while out-of-line keywords is 3 and a conversing person is not enclosed by location: [ say "*";] generate ool list. [ After reading a command while out-of-line keywords is 4:] [ say "%";][ clear saved cache.]

To advance style with (styl - a printing-style):

increase the output-style of styl by 1;

if the output-style of styl > 8, now the output-style of styl is 1;

if the output-style of styl > 5, now the output-style of styl is 8.

To decide which number is single-character: (- (VM_KeyChar()) -).