Dokumentation
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.
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.
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.
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 wieviele 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.
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!
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).
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 wieviele
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.
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.
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 |
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 http://www.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.
|