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