TxA | Kurzanleitung | Dokumentation | Spiele | Download | Links

Dokumentation

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

1. Aufbau

TxA ist eine imperative Programmiersprache, die speziell für das Schreiben von Text Adventures (ADV) ausgelegt wurde. Die Quelldateien müssen unter den Microsoft-Betriebssystemen im MS-DOS-Zeichensatz geschrieben werden. Unter Windows empfehle ich WordPad, das in der Lage ist, Text-Dateien im MS-DOS-Format abzuspeichern.

Verfügbare Zeichen unter TxA:
ASCII-Zeichen 0x1F bis 0x7F, Newline, deutsche Umlaute und scharfes S

Jedes ADV beginnt mit folgender Headerzeile:

[TXA "Spielname"]
wobei Spielname frei wählbar ist

bei mehreren Teilen sieht die Headerzeile so aus:
[TXA "Spielname" PART 1 OF n]

Das restliche Programm besteht im Wesentlichen aus den folgenden Sektionen, die mit dem Sektionsnamen in eckigen Klammern eingeleitet werden:


[INIT] beinhaltet Einstellungen (Farben, etc.) und Variabldefinitionen

[ROOM Raumname] hier sind die eigentlichen Räume im Spiel definiert

[INVENTORY] für Befehle, die im Zusammenhang mit dem Inventar des Spielers stehen

[STATUS] ermöglicht eine dynamische Statusleiste am unteren Bildschirmrand

Hinweis: Jede "Lokalität" entspricht in diesem System einem Raum.
Im Folgenden werden die Befehle der einzelnen Sektionen beschrieben. TxA unterscheidet nicht zwischen Groß- und Kleinschreibung.

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

2. [INIT]

Dieser Teil wird beim Starten des ADVs als erstes durchgearbeitet und beinhaltet Variablen, globale Texte und verschiedene Einstellungen.
Da das System sequentiell arbeitet, steht die Sektion [INIT] am Bestem am Anfang der Datei.
Folgende Befehle sind in dieser Sektion verfügbar:

TITLE = "*** hier steht der Titel meines Adventures ***"
initialisiert die Titelleiste (immer sichtbar am oberen Bildschirmrand).

Leerzeilen werden mit der Hintergrundfarbe ausgefüllt. Soll eine Zeile zwischen Titel und Eingabefenster frei bleiben, müssen zwei Newlines ("" bewirkt Zeilenumbruch) an den String angehängt werden:
TITLE = "Spiel 1"
"" / REM das ist ein Newline (Zeilenumbruch)
" " / REM Leerzeichen, damit Zeile mit Hintergrundfarbe ausgefüllt wird bzw. nur "", damit die Leerzeile die Farbe des Eingabefensters annimmt

Wie man an diesem Beispiel sieht, werden mehrzeilige Texte einfach untereinander in Anführungszeichen geschrieben.

START = [ROOM Raumname]
gibt den Raum an, mit dem das ADV beginnen soll.

PASSWORD = "*** Geheimwort ***"
einfacher Schutz des ADV zum Beispiel bei brisantem Inhalt. Vor dem Start des Spiels wird das Passwort abgefragt, dessen Länge min. 5 und max. 50 Zeichen betragen muss.

ITEXT = "*** was nun ? "
initialisiert den Eingabeaufforderungstext (wird für den Befehl INPUT verwendet).
Jede Zeile, in der der Spieler eine Befehlseingabe machen kann, beginnt mit dieser Meldung.

INTEXT = "*** eine Zahl bitte: "
initialisiert den Eingabeaufforderungstext für eine Zahl (INPUT ...).

CTEXT = "*** bitte wähle aus der Liste einen Eintrag aus"
initialisiert den Eingabeaufforderungstext für den Befehl CHOOSE.

IMSG?? = "*** individuelle Meldung ***"
verändert eine interne Meldung. ?? steht für:
1 interne Hilfe
2 interner Befehl für Bildschirm löschen
3 interner Befehl für Spiel beenden
4 interner Befehl für Rauminformation anzeigen
5 interner Befehl für Spielstand speichern
6 interner Befehl für Spielstand laden
7 Aufforderung zur Bestätigung (Sind Sie sicher (J/N) ?)
8 Meldung: Spielstand gesichert
9 Meldung: Spielstand geladen
10 Aufforderung: Überschreiben bestätigen (Überschreiben (J/N) ?)
11 Meldung:  INVENTORY:
12 Meldung: Du hast nichts bei Dir!
13 Meldung: nichts
14 Meldung:  Ungültige Zahl!
15 Zeichen für Ja ("J")
16 Zeichen für Nein ("N")
17 interner Befehl für Spiel nocheinmal starten
18 Meldung: Taste drücken (wenn "", wird Meldung unterdrückt)
19 interne Hilfe bei CHOOSE

VAR varname = zahl | (TRUE | FALSE)
initialisiert eine Variable. Diese kann entweder numerisch (speichert eine Zahl) oder eine boolesche Variable (speichert nur Ja/Nein) sein.

Variablen werden verwendet, um bestimmte Sachverhalte im Spielverlauf darzustellen. Beispielsweise wird für jeden Gegenstand eine boolesche Variable (entweder true oder false) initialisiert, die speichert, ob der Spieler diesen Gegenstand besitzt oder nicht. Ob eine Tür im Spiel geöffnet oder geschlossen ist, wird ebenfalls über solche Variablen gespeichert.
Variablen können mit dem Befehl IF auf ihren Inhalt abgefragt werden.

textname = "*** ich bin ein globaler Text, der in allen Räumen bekannt ist"
Hauptbestandteil eines Adventures ist natürlich der Text, der am Bildschirm ausgegeben, werden soll. In der Sektion [INIT] werden Textvariablen initialisiert, die in allen Räumen ausgegeben werden können.

Beispiel:
janein = "Bitte wähle Ja oder Nein!"

So ein Text kann öfters im Adventure gebraucht werden, und kann daher in einer globalen Textvariable abgespeichert werden.

RESOURCE resname = "*** c:\text.ans" : ANSITEXT
bindet eine externe Textdatei ein. Es werden die ANSI-Steuerzeichen m für die Farbwahl und das Steuerzeichen =7l für das Deaktivieren des automatischen Zeilenumbruchs unterstützt. Ausgegeben wird der Text mit dem Befehl Load.

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

3. Farbeinstellungen

Die Textfarben können in jeder beliebigen Sektion verändert werden, doch gelten die Änderungen erst ab der nächsten Textausgabe (Ausnahme: Titelleiste, Statusleiste). Mit default kann die Farbe auf den in [INIT] definierten Wert zurückgesetzt werden.

Gültige Vordergrund- und Hintergrundfarben:
BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW und WHITE

TITLECOLOR = farbe | default
TITLEBACKGROUND = farbe | default

definiert die Vordergrund- und Hintergrundfarbe der Titelleiste.

TEXTCOLOR = farbe | default
TEXTBACKGROUND = farbe | default

definiert die Vordergrund- und Hintergrundfarbe des auszugebenden Textes.

INPUTCOLOR = farbe | default
INPUTBACKGROUND = farbe | default

definiert die Vordergrund- und Hintergrundfarbe von Zeilen, in denen der Spieler eine Eingabe machen kann.

SCREENCOLOR = farbe | default
SCREENBACKGROUND = farbe | default

definiert die Vordergrund- und Hintergrundfarbe des restlichen Bildschirms.

STATUSCOLOR = farbe | default
STATUSBACKGROUND = farbe | default

definiert die Vordergrund- und Hintergrundfarbe der Statusleiste.

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

4. [ROOM Raumname]

Diese Sektionen beinhalten alle Befehle, die in Zusammenhang mit einer bestimmten "Lokalität" im Spiel stehen.
Hinweis: Bei der 16bit-Version dieses Systems (TxA16), sind für die Raumnamen nur Zahlen zwischen 1 und 65535 gültig (Bsp.: [ROOM1] oder [ROOM 1]).

RINFO = "*** Du bist in einem Zimmer mit einem schwarzen Plakat an der Wand."
initialisiert einen Informationstext über den aktuellen Raum.

textname = "*** hier steht ein Text, der anschließend"
"mit PRINT ausgegeben wird"
"dieser Text kann über mehrere Bildschirmseiten gehen ***"

initialisiert eine Textvariable, die nur lokal (in der aktuellen Raumsektion) verwendet werden kann.

PRINT Variablenbezeichnung
PRINTNL Variablenbezeichnung
PRINTDNL Variablenbezeichnung
PRINTINP Variablenbezeichnung
oder auch PRINT "*** dieser Text wird sofort ausgegeben"

gibt einen Text oder den Inhalt einer Variable aus. Mehrzeiliger Text wird untereinander in Anführungszeichen angegeben.
PRINTNL lässt vor der Ausgabe ein Zeile frei,
PRINTDNL lässt auch nach der Ausgabe eine Zeile frei und
PRINTINP gibt vor der Ausgabe zwei und nachher eine Leerzeile aus.

PRINT[NL|DNL|INP] RINFO
gibt die Rauminformation aus (siehe Befehl RINFO oben).
NL,DNL,INP Endungen wie bei PRINT

PRINT[NL|DNL|INP] INVENTORY
gibt die Inventory-Liste aus (siehe Inventory).
NL,DNL,INP Endungen wie bei PRINT

PRINT[NL|DNL|INP] ITEMLIST "*** du siehst: "
sucht im aktuellen Raum nach Items (siehe Inventory) und gibt eine Liste jener Gegenstände aus, deren gekoppelte Variable den Wert true hat.
NL,DNL,INP
Endungen wie bei PRINT

NL
gibt eine Leerzeile aus. Genauer: bewirkt einen Zeilenumbruch

CLS
löscht den Bildschirm (greets to MS-DOS).

WAIT "*** bitte Taste drücken ***"
WAIT Textvariable

wartet auf eine beliebige Taste.

Variablenname = Zahl | "*** Text ***" | TRUE | FALSE
Die möglichen Werte hängen vom Variablentyp ab.

Variablenname = RANDOM ( n )
weist einer Variable einen zufälligen Wert im Bereich von 0 bis n (1 bis 32767) zu.

Variablenname += Zahl
Variablenname -= Zahl

erhöht (erniedrigt) eine Variable um den Wert.

IF [NOT] Variablenname = TRUE oder FALSE THEN
vergleicht die Variable auf den Wert TRUE oder FALSE. NOT ist optional.

IF [NOT] Variablenname = Zahl THEN
vergleicht die Variable mit der Zahl. Statt = (gleich) kann auch auf < (kleiner) oder > (größer) abgefragt werden.

ELSE
wenn die Bedingung der IF-Anweisung falsch ist, werden die Anweisung nach ELSE bis END IF ausgeführt.

END IF
jeder IF-Befehl muss mit einem END IF enden, um erkennbar zu machen, welche Befehlssequenz zur IF-Anweisung gehöhrt.
Es ist besonders auf die korrekte Schachtelung der IF, ELSE und END IF-Anweisungen zu achten.
Kein END IF wird benötigt, falls nach THEN in der selben Zeile ein Befehl angegeben wird.
Bsp.: IF ende=true THEN GO [ROOM 1]

CHOOSE [RANDOM]
{Befehle, die vor der Abfrage ausgeführt werden. Hier darf kein zweites choose stehen!}
* Textvariable1
{Befehle, die ausgeführt werden, falls der Spieler Textvariable1 gewählt hat}
...
* Textvariable2
{Befehle, die ausgeführt werden, falls der Spieler Textvariable2 gewählt hat}
...
...
END CHOOSE

Zeigt dem Spieler eine Liste mit Optionen an und lässt ihn zwischen den mit * angegebenen Textvariablen wählen. Es können maximal 16 Auswahlmöglichkeiten angegeben werden, die falls die Option RANDOM angegeben ist, in zufälliger Reihenfolge ausgegeben werden.

CONTINUE [WITH] [PART?]
setzt die Ausführung bei dem angegebenem Teil fort. Die erste Zeile eines Adventures gibt an, um welchen Teil es sich handelt und wie viele insgesamt existieren. Zwischen den einzelnen Teilen gibt es keine Möglichkeit Informationen auszutauschen, d.h. diese müssen voneinander unabhängig ablaufen.

LOAD resname
lädt und gibt die Ressource am Bildschirm aus.

RESTART
startet das ADV neu.

QUIT
beendet das ADV.

REM
leitet ein Kommentar ein (gilt nur für eine Zeile), d.h. diese Zeile wird von TXACOMP ignoriert.

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

Input

INPUT ["*** optionale Eingabeaufforderung"] [Variablenname]
lässt den Spieler ein Kommando eingeben. Falls keine Variable angegeben wird, wird nach einem übereinstimmenden Kommando und Objekt gesucht und dann der entsprechende Code ausgeführt. Nach dem INPUT-Befehl kann aber auch eine Zahlenvariable oder eine Textvariable stehen. Der vom Spieler eingebene Wert (Zahl oder Text) wird in die angegebene Variable gespeichert. In diesem Fall gibt es keine Analyse auf Kommandoübereinstimmung und die Ausführung setzt mit dem nächsten Befehl nach INPUT fort.

Der INPUT-Befehl ist also der zentrale Befehl, der die Interaktion zum Spieler herstellt. Die Kommandos, die vom Spieler eingegeben werden können, bestehen prinzipiell aus zwei Teilen: dem Kommando selbst (z.B.: nehmen) und dem Objekt (z.B.: Schlüssel).
Die Abfrage des eingegebenen Kommandos erfolgt über Klammerung des Kommandos und anschließender Befehlssequenz, die nur dann ausgeführt wird, falls der Spieler dieses Kommando eingegeben hat.
Die Abfrage der Objekte erfolgt über das Objekt mit Doppelpunkt dahinter.

Beispiel:

(nimm)
PRINTINP "Was soll ich denn nehmen, es wurde kein Objekt angegeben."
    Schluessel:
        PRINTINP "Okay."
        schluessel=true
    OTHERWISE:
        PRINTINP "Das kann ich nicht nehmen."

(OTHERWISE)
PRINTINP "Ich kenne diesen Befehl nicht!"
    OTHERWISE:
        PRINTINP "Auch diesen Befehl kenne ich nicht!"

(Kommando)
definiert ein Kommando

Objekt:
stimmt die Eingabe des Spielers nicht komplett mit dem übergeordneten Kommandotext überein, wird bei seinen Objekten weitergesucht.
Werden lokale Textvariablen verändert, werden diese beim Rücksprung zu INPUT (Befehl RESUME) wiederhergestellt.

Hat ein Kommando/Objekt den Namen OTHERWISE, wird dieses ausgeführt, falls keine Zeile mit der Eingabe übereinstimmt.
!!! OTHERWISE sollte man immer in beiden Kommandoteilen einsetzen !!!
Dadurch werden Eingabefehler erfolgreich abgefangen. (siehe Beispiel)

Es ist auch möglich, bestimmte Wörter (z.B.: der,die,das,...) als unwichtig zu markieren. Diese Wörter werden bei der Eingabe ignoriert. Schachtelungen sind auch möglich.
Beispiel:
(UNTERSUCHE{DEN}{486{DX4}}COMPUTER)
reagiert auf folgende Eingaben: untersuche den 486 dx4 computer, untersuche 486 dx4 computer, untersuche den computer, untersuche den 486 computer, untersuche 486 computer, untersuche computer

Mit dem Zeichen '|', kann entweder der linke ODER der rechte markierte Textteil in der Eingabe verwendet werden. '{' und '}' gelten in diesem Fall als Markierung.
Beispiel:
(UNTERSUCHE{DEN}{COMPUTER}|{RECHNER})
reagiert auf folgende Eingaben: untersuche den computer, untersuche computer, untersuche den rechner, untersuche rechner

RESUME
wiederholt INPUT (muss nicht unbedingt explizit angegeben werden) oder verlässt die [STATUS] Sektion.

GO [TO] [ROOM Raumname]
setzt die Ausführung bei dem angegebenen Raum fort. TO ist optional.

GO (OTHERWISE)
setzt die Ausführung beim Input-Kommando '(OTHERWISE)' fort.
Nur innerhalb von anderen Input-Befehlssequenzen verwendbar!

GO OTHERWISE
setzt die Ausführung beim Input-Objekt 'OTHERWISE:' fort.
Nur innerhalb von anderen Input-Befehlssequenzen verwendbar!

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

5. [INVENTORY]

In dieser Sektion stehen mögliche Kommandos und deren Objekte (vgl. INPUT), die während des gesamten Adventures verwendet werden können. Speziell ist die Handhabung der Kommandos im Zusammenhang mit dem Inventar sinnvoll, da z.B. der Befehl "untersuche Schlüssel" in allen Räumen die gleiche Meldung liefern soll.
Bei einer Kommandoeingabe wird genau dann in dieser Sektion gesucht, falls in der jeweiligen Raumsektion keine Übereinstimmung gefunden wurde. GO [ROOM Raumname]-Befehle sind hier nicht ausführbar.

Am Anfang dieser Sektion werden mit dem Befehl ITEM Gegenstände im Spiel mit Variablen verknüpft. Lässt sich der Spieler sein Inventar ausgeben, werden diese Gegenstandsbezeichnung (bei Besitz) ausgegeben.

ITEM Varibalename = "*** Schlüssel ***"
weist einer bestimmten booleschen Variable einen Namen zu. Hat diese den Wert TRUE, dann wird der Name beim Inventar ausgegeben.
Diesen Befehl kann man auch in Räumen verwenden, um z.B. auszugeben, was es dort zu nehmen gibt. Es müssen dann aber zwei Variablen pro Gegenstand existieren. Eine die angibt, ob der Gegenstand noch im Raum und die andere, die speichert, ob der Gegenstand im Besitz des Spielers ist (siehe PRINT ITEMLIST).

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

6. [STATUS]

Während mit dem Befehl TITLE am oberen Bildschirmrand ein fixer Text angezeigt werden kann, erlaubt [STATUS] das Einblenden einer Statuszeile. Der Unterschied zu TITLE besteht jedoch darin, dass [STATUS] eine eigene Sektion einleitet, die TxA-Anweisungen, wie z.B. die Ausgabe von Text, enthält. Dadurch kann die Statuszeile dynamische Informationen wiedergeben (z.B. einen Punktestand, der bei Fortschritt im Spiel erhöht wird). Die Statuszeile wird dabei automatisch aktualisiert, d.h. der Code nach [STATUS] bei jeder Änderung neu aufgerufen.
Mit dem Befehl RESUME kann das weitere Abarbeiten der Befehle in [STATUS] abgebrochen werden. Befehle wie INPUT, CHOOSE, CLS, GO und CONTINUE sind hier jedoch aus verständlichen Gründen nicht anwendbar.

STATUSLINES = Anzahl
Dieser Befehl, der sowohl in [INIT] als auch in den Räumen gesetzt oder verändert werden kann, gibt an, über wie viele Zeilen sich die Statuszeile erstreckt. Mit dem Wert 0 kann die Statuszeile abgeschaltet werden. Dadurch ist es z.B. möglich dem Spieler eine dynamische Hilfe anzuzeigen, die er auf Wunsch auch wieder schließen kann.

Mit Farbeinstellungen kann die Text- und Hintergrundfarbe geändert werden.

Hinweis: [STATUS] wird in TxA16 nicht unterstützt. Spiele, die eine Statuszeile enthalten, können dort aber trotzdem ausgeführt werden, allerdings ohne Darstellung ebendieser.

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

7. TXACOMP & TXAEXEC

TXACOMP: Dieses Programm kodiert die Adventuredatei (ASCII-Text) und erzeugt eine Datei mit der Dateiendung .TXA Nachher lässt sich mit TXAEXEC das ADV starten. Einige Fehler können mit diesem Programm nicht erkannt werden (z.B.: falsche IF-Schachtelung, falsche INPUT-Kommando-Schachtelung, Fehlen eines Raumes, ...). Solche Fehler werden erst unmittelbar bei der Ausführung sichtbar!

TXAEXEC: Dieses Programm startet ein zuvor mit TXACOMP bearbeitetes ADV. Bei der Eingabe wird zwischen Groß- und Kleinschreibung nicht unterschieden. Treten physikalische Fehler (Lesefehler,...) auf, wird das ADV sofort beendet. Bei allen anderen Fehlern gibt es folgende Möglichkeiten:

  • Leave Object: Wenn der Fehler in einem Input-Teil auftritt, kann durch diese Option das Objekt verlassen werden (entspricht RESUME).
  • Ignore Error: Ignoriert den Fehler (nicht empfehlenswert!).
  • Resume: Probiert den fehlerhaften Befehl noch einmal.
  • Exit: Beendet das ADV.

Linux FAQ

Q: Welche Unterschiede gibt es zwischen TxA Windows und TxA Linux?
A: Prinzipiell sollten sich beide Versionen identisch verhalten. In den Adventure-Quelldateien werden jedoch die deutschen Umlaute anders kodiert und die Eingabezeilen sind unter Windows sowohl mit '\r' als auch mit '\n' abgeschlossen, was zu Problemen bei einer Konvertierung zwischen Linux und Windows führen kann. Die übersetzten TxA-Dateien sind jedoch voll kompatibel.
Q: Wie ändere ich die Bildschirmauflösung meiner Text Console?
A: siehe man SVGATextMode. Empfohlen ist der Modus 80x25.
Q: Ich sehe blinkenden Text. Was ist los?
A: Die Console unterstützt nur 8 Hintergrundfarben. Dies kann in der Datei
/etc/TextConfig mit option "16color" umgestellt werden.
Q: Mein Terminal interpretiert die ANSI-Steuerzeichen nicht korrekt?!
A: Versuche die Umgebungsvariable TERM auf ein einfaches Terminal wie vt100
umzustellen und starte txaexec mit der Option -8.
Q: Warum sehe ich lauter X auf dem Bildschirm?
A: Dein Terminal unterstützt nicht alle 16 Hintergrundfarben. Starte txaexec
im 8 Farben-Kompatibilitätsmodus mit der Option -8.

Interne Befehle (Standardkonfiguration)

sind nur während der Kommandoeingabe verfügbar und können mit IMSG?? verändert werden. Bei Leerstring ("") ist der Befehl deaktiviert.

?
listet alle internen Befehle auf.

CLS
löscht den Bildschirm.

INFO
zeigt die aktuelle Rauminformation und die Inventory-Liste an.

SAVE
speichert den aktuellen Spielstand. Der Dateiname des Spielstands ist gleich der TxA-Datei, jedoch mit der Erweiterung SA?. Es können maximal 10 Spielstände zu einem Adventure gespeichert werden. Zu jedem Spielstand kann zusätzlich eine Beschreibung mitgespeichert werden. Existiert die Datei schon, wird gefragt, ob diese Datei überschrieben werden soll. Tritt ein Fehler auf, wird die Programmausführung fortgesetzt.

LOAD
lädt einen zuvor gesicherten Spielstand. Achtung: Diese Option überschreibt interne Variablen: Tritt ein Fehler auf, wird das Programm meistens beendet!

QUIT
beendet das Programm.

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

8. Zusammenfassung der Befehle


Aufbau
  [TXA "Spielname" PART 1 OF 1]

[INIT]
  TITLE = " *** hier steht der Titel meines Adventures *** "
START = [ROOM Raumname]
PASSWORD = "*** Geheimwort ***"
ITEXT = " *** was nun ? "
INTEXT = "*** eine Zahl bitte: "
CTEXT = "*** bitte wähle aus der Liste einen Eintrag aus"
IMSG?? = "*** individuelle Meldung ***"
VAR varname = zahl | (TRUE | FALSE)
textname = "*** ich bin ein globaler Text, der in allen Räumen bekannt ist"
RESOURCE resname = "*** c:\text.ans" : ANSITEXT

Farbeinstellungen
  TITLECOLOR = farbe
TITLEBACKGROUND = farbe
TEXTCOLOR = farbe
TEXTBACKGROUND = farbe
INPUTCOLOR = farbe
INPUTBACKGROUND = farbe
SCREENCOLOR = farbe
SCREENBACKGROUND = farbe
STATUSCOLOR = farbe
STATUSBACKGROUND = farbe

[ROOM]
  RINFO = "*** Du bist in einem Zimmer mit einem schwarzen Plakat an der Wand."
textname = "*** hier steht ein lokaler Text, der mit PRINT ausgegeben wird"
PRINT Variablenbezeichnung
PRINTNL Variablenbezeichnung
PRINTDNL Variablenbezeichnung
PRINTINP Variablenbezeichnung
PRINT[NL|DNL|INP] "*** dieser Text wird sofort ausgegeben"
PRINT[NL|DNL|INP] RINFO
PRINT[NL|DNL|INP] INVENTORY
PRINT[NL|DNL|INP] ITEMLIST "*** du siehst: "
NL
CLS
WAIT "*** bitte Taste drücken ***"
WAIT Textvariable
Variablenname = Wert bzw. "*** Text ***"
Variablenname = RANDOM ( n )
Variablenname += Zahl
Variablenname -= Zahl
IF [NOT] Variablenname = TRUE oder FALSE THEN
IF [NOT] Variablenname = Zahl THEN
ELSE
END IF
CHOOSE
END CHOOSE
GO [TO] [ROOM Raumname]
CONTINUE [WITH] [PART?]
LOAD resname
RESTART
QUIT
REM

INPUT
  INPUT ["*** optionale Eingabeaufforderung"] [Variablenname]
(Kommando)
Objekt:
RESUME
GO (OTHERWISE)
GO OTHERWISE

[INVENTORY]
  ITEM Varibalename = "*** Schlüssel ***"

[STATUS]
  STATUSLINES = Anzahl

TXAEXEC
  Linux FAQ
Interne Befehle
?
CLS
INFO
SAVE
LOAD
QUIT

Aufbau | [init] | Farbeinstellungen | [room] | input | [inventory] | [status] | TxA | Index | Credits

9. Credits

TEXT ADVENTURE SYSTEM Version 0.99B1 by Viktor-Technology [C] 1995 - 2002

Autor: Viktor Krammer
E-Mail:
(C) 2002 by Viktor-Technology
aktuelle Version: V0.99B1 R2

Disclaimer
: Dieses Entwicklungssystem darf frei kopiert und vertrieben werden, solange keine Änderungen gemacht und alle Dateien gemeinsam (in einem Archiv) verteilt werden. Falls das Archiv im Internet zum Download angeboten wird, muss ein Link zu https://virtualnet.at/ auf die Originalseite hinweisen. Jegliche kommerzielle Nutzung ist nur mit Einwilligung des Autors möglich. Die Benutzung der Porgramme erfolgt auf eigenes Risiko.