Kapitel 3 Objekte3.1 Unser erstes Objekt: ein ZettelWas ist ein Adventure ohne Schwert, Lampe, und Proviant? Sehr langweilig, wie wir aus dem vorigen Kapitel wissen. Deshalb wollen wir nun ein paar Objekte einfügen. Als Begrüßungsbotschaft legen wir dem Spieler einen Zettel vors Haus: Obj Zettel Name 'Zettel' m Subst 'zettel' m Ort vor_dem_Haus Das ist im Grunde genommen alles. Das Objekt hat eine ID, die von allen anderen IDs eindeutig zu unterscheiden sein muss, auch von allen Räumen und Antworten. Es hat einen Namen, der in der Ausgabe der T.A.M. verwendet wird. Dieser Name muss eine Angabe zum grammatikalischen Geschlecht enthalten, die dem Namen als m, f, n oder p nachgestellt wird. Es heißt »der Zettel«, also ist das Geschlecht m wie männlich oder maskulin. Das Subst(antiv) gehört zum Vokabular des Objekts, mit dem es der Spieler in seinen Anweisungen ansprechen kann. Die einzige Angabe ist hier 'zettel', wieder gefolgt von einer Genus-Kennzeichnung. Wir können den Zettel also nur »Zettel« nennen. Das Substantiv in Anführungsstrichen darf keine Leerzeichen haben. Alle Großbuchstaben werden in Kleinbuchstaben verwandelt, alle »ß« in »ss« und alle »ae«, »oe« und »ue« in »ä«, »ö« und »ü«. Zum Zeichen, dass es sich um Vokabular handelt, benutze ich für die Substantive gerne Kleinbuchstaben. Und schließlich hat der Zettel einen Ort, nämlich vor dem Haus. Adventure generieren und laufen lassen. Es erscheint:
Man kann den Zettel aufheben und irgendwo anders wieder ablegen, aber viel mehr gibt der Zettel im Moment nicht her. 3.2 Der Zettel bekommt LebenAlso erweitern wir die Definition des Zettels: Obj Zettel Name 'Zettel' m Subst 'zettel' m Ort vor_dem_Haus Besch 'Der Zettel ist nur ein schmutziger Wisch. Es steht allerdings etwas darauf.' Text 'Auf dem Zettel steht in krakeliger Schrift: "Willkommen in der Welt von T.A.G.!"' Erst 'Etwa fünf Meter von der Hauswand entfernt liegt ein Stück Papier im Gras.' Damit erhalten wir folgendes:
Die Erst-Beschreibung ist also der Text, der anstelle von »Hier ist . . .« ausgegeben wird, wenn das Objekt am Aufenthaltsort ist. Ist das Objekt aber schon einmal aufgehoben worden, gibt es wieder die »normale« Beschreibung. Die Besch(reibung) ist der Text, der beim Untersuchen ausgegeben wird, und Text beschreibt, was geschieht, wenn man das Objekt liest. Fehlen diese Angaben, so kommen die Antworten, die aus dem ersten Beispiel mit dem Zettel bekannt sind. Ist Text definiert, Besch aber nicht, so tritt ein Sonderfall in Kraft: Es wird beim Untersuchen der Lese-Text ausgegeben. 3.3 Das VokabularEs gibt jetzt natürlich ein Problem: der Zettel wird - aus stilistischen Gründen - nicht immer Zettel genannt, sondern auch »dreckiger Wisch« und »Stück Papier«. Wenn der Spieler aber diese Wörter benutzen will, so bekommt er zu hören »Ich kenne 'Wisch' nicht.« Deshalb erweitern wir das Vokabular des Objekts Zettel: Subst 'zettel' m 'wisch' m 'stück' n Subst 'papier' n 'fetzen' m Adj 'schmutzig' Vor 'papier' Es können Adj(ektive), Subst(antive) und Vor(wörter) definiert werden. Die Substantive benötigen alle eine Genus-Kennung, die Adjektive und Vorwörter nicht. Es können beliebig viele Vokabular-Definitionen je Objekt gemacht werden. Mit diesen Angeben versucht die T.A.M. dann, aus der Eingabe des Spielers ein Objekt zu bestimmen. Dabei geht sie so vor:
Dabei muss nur (c) ein Ergebnis bringen. Die anderen Angaben dienen nur dazu, die Suche einzuschränken. In unserem Beispiel könnten wir also eingeben Zettel schmutziger Wisch Stück Papier schmutziger Papierfetzen und es würde als Objekt »Zettel« verstanden. Allerdings könnte man auch sagen schmutzig schmutziges Papier Zettel Wisch Fetzen Papierpapier was sich etwas eigenartig liest, aber für die T.A.M. in Ordnung ist und ebenfalls bedeutet: Objekt »Zettel«. Um dem Spieler möglichst viele Eingaben zu erlauben, nimmt man die Erkennung von Unsinnigem in Kauf. Es geht bei der Definition des Vokabulars natürlich nicht darum, akribisch alle Möglichkeiten aus dem Thesaurus abzuschreiben, aber ein gutes Objekt sollte mit seinem Vokabular schon die gängigsten Eingabemöglichkeiten abfangen. 3.4 Zustände und AttributeEin Zettel ist natürlich kein besonders ausgiebiges Beispiel für ein Text-Adventure-Tutorium. Außer einem Text zum Lesen, der sich noch dazu nicht ändert, hat er nicht viel zu bieten. Objekte können nämlich, genau wie Räume, Attribute besitzen. Außerdem können sie - im Gegensatz zu Räumen - einen bestimmten Zustand haben. Erinnern wir uns also an den dunklen Keller und geben unserem Abenteurer eine Lampe an die Hand: Obj Lampe Name 'Taschenlampe' f Adj 'batteriebetrieben' Vor 'taschen' 'batterie' Subst 'lampe' f 'leuchte' f Ort beimir Zust aus Attr Licht Diese Lampe ist zu Beginn beimir, also beim Spieler. Sie hat den Zustand aus. Außerdem besitzt sie das Attribut Licht, was bedeutet, dass sie eine Lichtquelle ist, wenn sie nicht aus ist. Mit dieser Lampe können wir uns nun in den Keller wagen. Der Keller ist zwar immer noch modrig, aber nicht mehr stockfinster. Besser so, oder? Was ist der Unterschied zwischen Attribut und Zustand? Ein Objekt hat immer nur einen Zustand, der aus meheren gewählt werden kann. Bereits vordefinierte Zustände sind ein, aus, kaputt, offen, geschlossen und abgeschlossen. Ein Attribut ist eine Eigenschaft, die ein Objekt hat oder nicht hat. Ein Objekt kann beliebig viele Attribute besitzen. Der definierte Zustand bewirkt eine weitere Sache: Zustände können neben IDs auch Bezeichnungen haben. Die Lampe hat keine Beschreibung. Trotzdem erscheint nicht die Pauschalantwort »Du siehst nicht Außergewöhnliches«, sondern die Beschreibung des Zustands: »Die Lampe ist aus«. Aufgabe 3 Zusammenfassung: Ähnlich wie Räume werden Objekte in Blöcken definiert. neben einem Namen und einer Beschreibung besitzen sie weitere Eigenschaften: Vokabular, Attribute, Zustände und einen Ort. Als Vokabular können Adjektive, Vorwörter (von zusammengesetzten Hauptwörtern) und Hauptwörter (Substantive) angegeben werden. Zu Substantiven muss zusätzlich das grammatikalische Geschlecht definiert werden. Jedes Objekt kann beliebig viel Vokabular haben. Attribute sind Eigenschaften, die ein Objekt hat oder nicht. Objekte haben zusätzlich einen Zustand, eine Eigenschaft, die einen Wert aus einer Anzahl von definierten Zuständen (ein, aus, offen, kaputt, usw.) annehmen kann. Verweis:
|
Einleitung |