________________________________________________________________________
| ||
13. Der Spieler
| ||
13.1. Was genau ist der Spieler in TAG?Der Spieler ist natürlich ein wichtiges Objekt, obwohl er kein Objekt im Sinne von TAG ist. Der Spieler wird nur mittels einiger Flaggen beschrieben. Für Objekte, die beim Spieler sind, gelten BeiMir und angezogen und sein Aufenthaltsort wird mit aRaum und aSitz beschrieben. Die Variable bSitz beschreibt, ob er auf aSitz sitzt, steht oder liegt mit den Werten %sitzen, %stehen und %liegen. Es gibt kein Objekt 'Spieler' in TAG. Daher müssen alle Besonderheiten, die den Spieler betreffen, im jeweiligen Befehl abgefangen werden, z.B.:
Bef drehen
[...]
Ausf
Bed /(aObj = du)
'Du drehst dich zu deinem Vergnügen ein wenig im
Kreis herum.'
Bed /(aObj fest immobil)
'[Der aObj] [läßt/lassen] sich nicht drehen.'
Text 'Du drehst [den aObj].'
EndeAusf
Besondere Regeln, die vielleicht nur in bestimmten Situationen gelten, können in der Aktion Vorher abgefangen werden:
Aktion Vorher
Ausf
Wenn (Gasmaske angezogen) dann
Bed /(aBef = sagen fragen erzählen) und (Akteur = 0)
'Man hört nur ein undeutliches Genuschel, wenn du
durch die Gasmaske sprichst.'
Ende
Ende
Wenn sich ein Objekt beim Spieler oder in oder auf einem der Objekte, die beim Spieler sind, befindet, so ist der Stammraum dieses Objekts Null. Dies ist etwas allgemeiner als die Angaben BeiMir und angezogen, die eine konkrete Situation beschreiben. Anmerkung: In der Eingabe des Spielers wird du und ich als gleichwertig betrachtet. Also bewirkt 'untersuche mich' und 'untersuche dich' dasselbe. Wendet sich der Befehl an einen Akteur, so bezeichnet du den Akteur und ich wird in die Hilfsvariable Du umgewandelt, da ja damit der Spieler gemeint ist. Ein Sonderfall ist, wenn es sich um ein reflexives Verb handelt. Dann wird 'dich' als Bestandteil des Verbs gewertet. | ||
13.2. Mehrere LebenManche Spiele (darunter auch Adventure und Zork) geben dem Spieler drei Leben. Meistens wurde der Spieler bei seinen ersten beiden Toden wiederbelebt und an seinen Ausgangspunkt zurückgesetzt. Seine Besitztümer jedoch wurden über alle ihm bereits bekannten Räume verstreut. In TAG stirbt der Spieler durch den Befehl gestorben. Wird dieser Befehl eingegeben, so ist der Spieler tot, es erscheint die passende Meldung und sein fleischliches Gegenstück an der Tastatur wird gefragt, ob er aufhören, von vorne beginnen oder einen Spielstand laden möchte. Um dem Spieler mehrere Leben zu geben, könnte man folgende Routine benutzen:
Flagge Leben 3
Raumvar xRaum
Aktion Tod
Ausf
Dekr Leben
Wenn (Leben) dann
Absatz
Text '*** Du bist jetzt leider tot. ***'
Absatz
Wenn (Leben > 1) dann
Text 'Von irgendwo hörst Du eine Stimme: "Aha, schon
wieder ein Möchtegern-Abenteurer. Ihr lauft immer
so unbetrübt durch die Unterwelt, und ich muß euch
dann wieder zusammenflicken. Also, an die Arbeit."'
sonst
Text '"Du schon wieder!" hörst du die bekannte Stimme.
"Hast du schon wieder nicht aufgepaßt? Na schön,
einmal kann ich dich gewiß noch in Ordnung
bringen."'
Ende
Absatz
Text 'Eine orangefarbene Wolke senkt sich auf dich
herab. Du fühlst dich schwer und bleiern und
sinkst in einen tiefen Schlaf.
Als du aufwachst, befindest Du dich...[#]'
| Objekte verteilen
Schleife iObj
Wenn (iObj beiMir) dann
wiederhole
Zufall xRaum MinRaum MaxRaum
bis (xRaum besucht)
Objnach xRaum
Ende
Ende
| Zurück zum Anfang
GeheZu Unterwelt_Eingang
sonst
Text 'Eine Stimme sagt: "Tut mir leid, aber jetzt kann
ich nichts mehr für dich tun. Ich konnte ja nicht
wissen, daß du *so* ungeschickt bist."'
Gestorben
Ende
EndeAusf
Anstelle des Befehls gestorben setzt man dann Ausf Tod. In dieser Aktion wird geprüft, ob man den Spieler noch einmal wiederbeleben kann, und wenn nicht, wird die übliche Ablebensroutine gestorben aufgerufen. Nach dem Aufruf von Tod sollte eine Stop-Anweisung stehen. | ||
13.3. Ein ganzes TeamMan kann sich auch vorstellen, daß der Spieler nicht nur eine Figur steuert, sondern eine ganze Mannschaft. Das ist bei Rollenspielen immer sehr beliebt: Ein Kämpfer, ein Zauberer, eine Diebin - jeder Charakter hat seine eigenen Fähigkeiten. Dazu kann der Spieler von einer Person zur anderen schalten.
ObjVar Spieler Natalia
ObjAttr Teammitglied
Bef wechseln
Name 'wechseln'
Verb 'wechsle'
Syntax zu demObj (allg)
Ausf
Bed (aObj Teammitglied)
'[Der aObj] [ist] ganz sicher kein Mitglied unseres
Archäologen-Teams.'
Bed /(aObj = Spieler)
'Du spielst im Moment [den aObj].'
Bed /(aObj tot)
'Es tut mir leid, aber [der aObj] leb[t] nicht mehr.'
| Alle Objekte übertragen
Schleife iObj
Wenn (iObj BeiMir) dann
ObjNach iObj bei Spieler
sonst
Wenn (iObj bei aObj) dann
ObjNach iObj BeiMir
Ende
Ende
Ende
| Den Raum wechseln
Wenn /(aSitz = 0) dann
ObjNach Spieler in aSitz
sonst
ObjNach Spieler aRaum
Ende
Stammraum aRaum aObj
MutterObj aSitz aObj
| Spieler wechseln
Sei Spieler aObj
Objnach Spieler nirgendwo
Sei maxInv Spieler.Last
Sei maxGew Spieler.Gew
Sei maxVol Spieler.Vol
Text 'O.K. Du wechselst zu [dem aObj].'
Ausf Lage
EndeAusf
Obj Natalia
Name 'Natalia' f 1
subst 'natalia' f 'nat' f
Besch 'Dottoressa Natalia Antonelli arbeitet an der
ägyptologischen Fakultät der Universität Turin.
In unserem Team ist sie die Spezialistin für
Schriftzeichen und die Kultur und Religion des
zweiten Königreichs.
Sie ist eine braungebrannte Endzwanzigerin mit
dunkelbraunen Haaren und einer etwas unattraktiven
Hornbrille.'
Erst 'Deine Kollegin Natalia ist hier.'
Dabei 'Ihre Ausrüstung besteht im Moment aus [liste 2].'
Attr Person Teammitglied Transparent
Vol 60
Gew 60
Var Last 4
[...]
So könnte man ein Archäologen-Team in eine Pyramide senden. Der Spieler spielt immer eine Person, kann aber zu jeder beliebigen umschalten, auch wenn sie nicht am selben Ort ist. (Diese Bedingung könnte man einfügen, indem man das Allg in der Syntax-Zeile wegließe.) In einer Schleife über alle Objekte werden dem Spieler alle Objekte der Zielperson gegeben und der jetzigen Spielperson alle Besitztümer des Spielers. (Bei der hier vorgestellten Version werden Sachen, die der Spieler angezogen hat, nicht brücksichtigt.) Der momentan aktive Spieler ist als Objekt nicht im Spiel, da alle Funktionen vom Spieler übernommen werden. Deshalb muß auch der Spieler ins Spiel zurückgeholt werden, bevor der Spieler zur Person aObj wechselt. Diese wird dann ins nirgendwo befördert, damit es sie nicht zweimal gibt: als Spieler und als Person im Spiel. | ||
|