________________________________________________________________________
| ||
11. Aufzählungen und Beschreibungen | ||
11.1. Die Beschreibung eines ObjektsDie Beschreibung eines Objekts folgt ähnlich den Raumbeschreibungen einem bestimmten Schema:
Zusätzliche Beschreibungen sollten in einer NachAusf angefügt werden, wobei man beachten sollte, daß die Punkte 3. und 4. nur in den Puffer geschrieben werden:
Obj Amulett
Name 'Amulett' n
[...]
Besch 'Es ist ein Bronze-Amulett, das ich von meinem
Meister Sha-Yan zur bestandenen Beschwörerprüfung
bekommen habe.'
NachAusf
(untersuchen) Wenn (Drache hier) oder (Ork hier) dann
Text 'Das Amulett strahlt einen starken
roten Glanz aus.'
sonst
Wenn (Drache nebenan) oder
(Ork nebenan) dann
Text 'Das Amulett leuchtet schwach
rötlich.'
Ende
Ende
EndeAusf
Grundsätzliche Änderungen der Beschreibung sollten in der VorAusf in gewohnter Weise abgefangen werden:
Obj Pflanze
Name 'fleischfressend^ Pflanze' f
[...]
Besch 'Diese Venus-Fliegenfalle hat mit meine Kusine einmal
geschenkt, sie ist aus dem Botanischen Garten von
Neustadt. Trotz ihrer Reißzähnchen sieht sie irgendwie
putzig aus und ist außerdem praktisch, weil sie das
Ungeziefer fernhält.'
VorAusf
(untersuchen) Bed /(Pflanze_gewachsen)
'Oh weh! Das putzige kleine Pflänzchen hat
sich durch meinen vielleicht allzu grünen
Daumen in ein wahres Monstrum verwandelt.
In unregelmäßigen Abständen schnappt sie
nach mir!'
EndeAusf
Natürlich gibt es auch die Möglichkeit, Aktionen aus Besch heraus aufzurufen oder bestimmte Zustände bereits im Besch-Text zu beschreiben. | ||
11.2. Gruppieren von ObjektenMit einer Plural-Angabe bei Objektklassen können Objekte in Listen, wie sie zum Beispiel im Inventar oder bei der Liste der Objekte in einem Raum auftreten, gruppiert werden. Zum Beispiel ein Stapel Tarot-Karten:
ObjKlasse Karte
Plural 'Tarotkarten' p
vor 'tarot'
subst 'karte' f 'karten' p
Ort auf Salontisch
Besch 'Diese Karte zeigt [den selbst].'
Obj As (Karte)
Name 'As der Münzen' n 4
subst 'as' n 'münzen' n
Obj Narr (Karte)
Name 'Narr~' m 4
subst 'narr' m 'narren' m
Obj Mäßigkeit (Karte)
Name 'Mäßigkeit' f 4
subst 'mässigkeit' f
Synonym 'der münzen' 'münzen'
Mit dieser Definition werden drei Karten definiert, die alle einzeln mit ihrem Namen angesprochen werden können. In der Raumbeschreibung werden sie aber gruppiert und mit dem Plural der Klasse versehen:
Auf dem Salontisch siehst du drei Tarotkarten (das As der
Münzen, den Narren und die Mäßigkeit) und einen Brieföffner.
Wenn der Spieler nun zwei Karten wegnimmt, so bleibt nur noch eine übrig, die dann nicht mehr gruppiert wird:
Auf dem Salontisch siehst du das As der Münzen und einen
Brieföffner.
(Das Synonym wurde hier nur definiert, damit der Parser von dem zusätzlichen Artikel nicht verwirrt wird. Ein Artikel bedeutet für ihn den Anfang eines neuen Objekts. Mit dem Synonym wird der Artikel elegant entfernt. Da TAG keinen Genitiv kennt, macht es keine Probleme, da 'der Münzen' sowieso in keinem anderen Zusammenhang auftreten kann.) Der Plural muß übrigens nicht immer im Plural stehen, wie im folgenden Beispiel:
ObjKlasse Nahrung
Plural 'Wegzehrung' f 3
vor 'weg'
Subst 'zehrung' f 'verpflegung' f
Obj Sandwich (Nahrung)
Name 'Käse-Thunfisch-Sandwich' n
Vor 'käse' 'thunfisch' 'käse-thunfisch'
Subst 'sandwich' n 'brot' n 'käse' m 'thunfisch' m
Ort BeiMir
Besch 'Ein Spezial-Sandwich "nach Art des Hauses".'
Obj Banane (Nahrung)
Name 'Banane' f
Subst 'banane' f
Ort BeiMir
Besch 'Gelb und krumm.'
Dann gibt die Inventarliste folgendes aus:
Du hast etwas Wegzehrung (ein Käse-Thunfisch-Sandwich und eine
Banane).
Eine weitere Besonderheit von Listen ist, daß die einzelnen Objekte einen Listennamen haben können, der in der Definition mit lName angegeben wird. Dieser Name ist ein kurzer Name, der sich meist auf den Plural der Klasse bezieht:
ObjKlasse Ball
Plural 'kleine Bälle' p 4
Subst 'ball' m 'bälle' p
[...]
Obj grün_Ball (Ball)
Name 'klein^ grün^ Ball' m
lName 'grün^' m
Adj 'grün'
[...]
Obj schwarzer_Ball (Ball)
Name 'klein^ schwarz^ Ball' m
lName 'schwarz^' m
[...]
Obj weisser_Ball (Ball)
Name 'klein^ weiß^ Ball' m
lName 'weiß^' m
[...]
Die Objektklasse Ball hat einen Plural, also werden die Bälle in Listen als eine Gruppe in Klammern ausgegeben. Damit es nicht zu unschönen Wiederholungen kommt, wird in der Klammer der kurze Listenname verwendet:
Hier sind drei kleine Bälle (ein grüner, ein schwarzer und ein
weißer).
Hätten die Objekte keinen Listennamen, so würde diese Liste so aussehen:
Hier sind drei kleine Bälle (ein kleiner grüner Ball, ein
kleiner schwarzer Ball und ein kleiner weißer Ball).
Es lohnt sich also, bei Objekten, die gruppiert werden, einen Listennamen anzugeben. Dieser Listenname wird übrigens auch in der Nachfrage des Parsers verwendet:
Welche Tür? Die gläserne, die aus Mahagoni, die blaue Holztür
oder das große Portal?
| ||
11.3. Ein Objekt als Gruppe von ObjektenManchmal möchte man eine Gruppe von Objekten als ein Objekt darstellen. Diese Objekte sind alle gleich und können untereinander nicht unterschieden werden. Zum Beispiel eine Streichholzschachtel, die eine Anzahl von Streichhölzern enthält. Dabei sollen die Streichhölzer nur ein Objekt sein:
Flagge Holz_an 0
Obj Schachtel
Name 'Streichholzschachtel' f
Vor 'streichholz' 'zündholz'
Subst 'schachtel' f
Attr Behälter
Zust geschlossen
Ort BeiMir
VorAusf
(öffnen) Bed (Streichholz in Nirgendwo)
'Du solltest erst das einzelne
Streichholz abbrennen lassen.'
EndeAusf
Obj Streichhölzer
Name 'Streichholz' n
Plural 'Streichhölzer' p
Vor 'streich' 'zünd'
Subst 'holz' n 'hölzer' p
Anz 5
Ort in Schachtel
Besch 'In der Schachtel [ist selbst] [ein].'
VorAusf
(nehmen anmachen)
Bed /(Streichholz BeiMir)
'Das Streichholz brennt doch schon.'
Bed (Streichhölzer.Anz > 0)
'Die Schachtel ist leider leer, du
Feuerteufel.'
Sei Holz_an 3
ObjZust Streichholz ein
ObjZust Schachtel geschlossen
ObjNach Streichholz beiMir
Dekr selbst.Anz
Wenn (selbst.Anz = 0) dann
Text 'Du nimmst das letzte Streichholz,'
sonst
Text 'Du nimmst ein Streichholz,'
Ende
Stop 'schließt die Schachtel und reißt es
an der rauhen Fläche an.'
EndeAusf
Obj Streichholz
Name 'brennend^ Streichholz' n
Adj 'brennend' 'einzeln'
Vor 'streich' 'zünd'
Subst 'holz' n
Attr Licht
Besch 'Langsam flackernd brennt das Streichholz ab..'
VorAusf
(untersuchen) Bed (Streichhölzer.Anz > 0)
'Es ist das letzte Streichholz, das
langsam herunterbrennt.'
(anmachen) Stop 'Das Streichholz brennt bereits.'
(hinlegen ausmachen)
ObjNach selbst nirgendwo
Stop 'Du wedelst das Streichholz aus und
wirfst den glimmenden Rest weg.'
EndeAusf
Aktion *
Ausf
Wenn (Streichholz BeiMir) dann
Wenn (Holz_an) dann
Dekr Holz_An
Bed (Holz_An)
'Das Streichholz ist bald abgebrannt.'
sonst
Text 'Das Streichholz flackert langsam aus.'
Text 'Du wirfst den schwach glimmenden Rest weg.'
ObjNach Streichholz Nirgendwo
Ende
Ende
EndeAusf
Mit dieser Definition kann immer nur ein Streichholz aus der Schachtel geholt und angezündet werden. Die Schachtel wird automatisch zugemacht, damit der Spieler das brennende Streichholz als Streichholz eindeutig ansprechen kann, aber trotzdem 'nimm Streichholz' verstanden wird, wenn das einzelne Hölzchen gerade nicht vor Ort ist. Diese Definition ist relativ lang, da man verschiedene Situationen abfangen muß: Es darf immer nur ein Streichholz und in Sicht sein, ist das Streichholz aus, wird es sofort weggeworfen, damit das nächste Streichholz genommen werden kann usw. Eine solche Vorgehensweise bietet sich nur an, wenn man die Objekte immer nur als Gruppe benutzt, wie z.B. Münzen als Zahlungsmittel oder Streichhölzer. | ||
11.4. Objekte, die gleich sindManche Objekte ähneln einander wie ein Ei dem anderen, befinden sich aber unter Umständen an verschiedenen Orten und können einzeln angesprochen werden. Die Definition aus dem vorigen Abschnitt funktioniert also hier nicht. In einem solchen Fall kann man in TAG eine Objektklasse definieren, die einen Plural und ein Vokabular besitzt. Um die Objekte in dieser Klasse nicht unter- scheidbar zu machen, darf man kein eigenes Vokabular bei ihnen definieren, so daß sie nur das von der Klasse geerbte Vokabular benutzen:
ObjKlasse Münze
Name 'Münze' f
Plural 'Münzen' p
Besch 'Eine Münze wie jede andere.'
Obj M1 (Münze)
Ort BeiMir
Obj M2 (Münze)
Ort in Beutel
Obj M3 (Münze)
Ort in Beutel
Diese Definition bewirkt, daß die Münzen bei Aufzählungen immer zusammengefaßt werden: 'Der Lederbeutel enthält zwei Münzen.' Wenn der Spieler nun 'nimm die Münze aus dem Beutel' eingibt, so wählt der Parser eine beliebige der beiden aus. Die einzelnen Münzen müssen verschiedene Bezeichner besitzen, auch wenn sie vielleicht nie benutzt werden. Für das Programm sind sie schon verschieden, und vielleicht sollen sie sich ja auch im Verlauf des Spiels ändern:
Obj Flüssigkeit
Name 'grün^ Flüssigkeit'
[...]
Besch 'Diese grüne Flüssigkeit brodelt etwas verdächtig in
einem Glaskolben.'
Darin 'Unten in der Flüssigkeit, durch die Blasen und
milchigen Schlieren kaum zu erkennen, befinde[t 0]
sich [liste 0].'
VorAusf
(empfangen) Bed /(aObj Zaubermünze)
'[Der aObj] [ist] doch schon
verwandelt.'
Bed (aObj Münze)
'Besser nicht!.'
(freigeben) Bed (Zange Beimir)
'Mit bloßen Händen solltest du nicht
in diese dermatologisch recht
bedenkliche Flüssigkeit greifen.'
EndeAusf
NachAusf
(empfangen) Jenach aObj
(M1) Sei iObj Kupfermünze
(M2) Sei iObj Silbermünze
(M3) Sei iObj Goldmünze
(M4) Sei iObj Bleimünze
(M5) Sei iObj Ebenholzmünze
[...]
Ende
Tausche aObj iObj
Text 'Die Flüssigkeit brodelt heftig als die
Münze darin versinkt. Als der Dampf etwas
verflogen ist, siehtst du, daß die Münze
in [ein iObj] umgewandelt wurde.'
EndeAusf
Dabei muß das Objekt umgetauscht werden, es kann nicht bloß verändert werden, da ein unveränderliches Objekt während des ganzen Spiels unverändert bleibt. (Das Vokabular eines Objekts kann sich normalerweise nicht ändern, und die Parserroutinen werden bei der Unveränderlichkeit nicht berücksichtigt.) Obwohl die Münzen nicht unterscheidbar sind, so sind sie doch verschieden und im Beispiel wird eine normale Münze immer in dieselbe einzigartige Münze umgewandelt. Wenn man also eine Münze im Gartenhäuschen findet, so ist es immer die noch nicht verwandelte Bleimünze, der Spieler hat keine Chance, daß es zufällig doch die goldene ist. | ||
|