________________________________________________________________________
| ||
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. | ||
|