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 Variabledefinitionen | |
[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.
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.
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.
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!
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.
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!
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.