[ t e x t f i r e . d e - Startseite ]

Sitemap
Druckversion


Ersatzteile

Statuszeilen-EKG

Die Statuszeile lässt sich vielseitig einsetzen. Für die Textadventure-Variante der Weißkittel-Soap implementiert dieses Beispiel ein EKG für Inform und T.A.G.

In Inform muss man vor dem Einbinden der Library die Routine zum Zeichnen der Statuszeile ersetzen (Replace DrawStatusLine) und dann folgenden Code in sein Spiel einbinden:

Global Puls = 90;

[DrawStatusLine rpos;
    @split_window 1; @set_window 1;
    @set_cursor 1 1; style reverse;
    spaces(0->33);
    @set_cursor 1 2; printShortName(location);
    ! Puls am rechten Rand ausrichten
    rpos = (0->33) - 13; @set_cursor 1 rpos;
    switch (Puls/30) {
        0: print "____________";
        1: print "_____/@@92_____";
        2: print "__/@@92____/@@92__";
        3: print "_/@@92__/@@92__/@@92_";
        4: print "_/@@92_/@@92_/@@92_/@@92";
        5: print "/@@92/@@92/@@92/@@92/@@92/@@92";
        default:
              print "||||||||||||";
    }
    @set_cursor 1 1; style roman; @set_window 0;
];

Die Notation @@92 steht hier für den Backslash, den rückläufigen Schrägstrich. Die ersten drei Zeilen öffnen das obere Fenster und machen es schwarz, dann wird links der momentane Ort und rechtsbündig die EKG-Grafik geschrieben.

In T.A.G. muss man nur den rechten Teil (#rechts) der Statuszeile auf sieben, das heißt auf frei definiert, setzen und den String Statuszeile anpassen. Das kann man gut in einer Aktion mit Sternchen, die nach jedem Zug ausgeführt wird, machen:

Flagge Puls 90

Aktion *
Ausf
    lokal a
    sei a Puls
    div a 30
    sei #rechts 7
    jenach a
        (0) sei Statuszeile '____________'
        (1) sei Statuszeile '_____//\_____'
        (2) sei Statuszeile '__//\____//\__'
        (3) sei Statuszeile '_//\__//\__//\_'
        (4) sei Statuszeile '_//\_//\_//\_//\'
        (5) sei Statuszeile '//\//\//\//\//\//\'
        (sonst) sei Statuszeile '||||||||||||'
    Ende
EndeAusf

In T.A.G. muss der Schrägstrich doppelt geschrieben werden, da die nachfolgende Sequenz sonst für eine Steueranweisung gehalten wird.

(Die Idee des Herzschlags in der Statuszeile stammt übrigens aus dem Aufsatz Whizzard's Guide to Text Adventure Authorship.)

01.06.2003, Martin Oehm

 
[nach oben]