Next: ,,...ein Strom, zu wässern
Up: Schritt für Schritt ins
Previous: ,,... allerlei Bäume, lustig
Subsections
Das Betreten des Rasens ist erlaubt
Im Garten Eden gibt es natürlich paradiesische Liegewiesen.
-
- Object Gras
with short_name "Gras",
dekl 4,
description
"Starke, kurze Halme bilden einen dichten Grasteppich.
Allerlei Getier tummelt sich darin.";
before [;
take: "Du pflückst einen Grashalm,
auf dem ein Käfer sitzt. Du weißt nichts Rechtes
damit anzufangen und wirfst ihn wieder weg.";
LookUnder: "Es ist keine Falltür drunter.";
],
after [;
enter: "Du streckst dich auf dem Gras aus. Es ist weich und
angenehm.";
exit: "Du stehst wieder auf.";
],
name 'Gras' 'Graeser' 'Halm' 'Wiese' 'Rasen' 'Heu' 'Boden'
'Teppich' 'Grasteppich' ,
found_in Mitte EdenN EdenNW EdenSE EdenSW EdenNE EdenN
EdenS EdenE EdenW,
capacity 100,
has neuter scenery supporter enterable;
Dass man auf dem Gras liegen kann, bewirken die Attribute supporter
und enterable:
Ein Objekt mit der Eigenschaft supporter
kann mit anderen Objekten ,,belegt'' werden - man kann andere Objekte
darauf tun21 - bis das mit capacity angegebene Fassungsvermögen
erreicht ist - hier also 100 Objekte. (100 ist die Voreinstellung,
so dass die Zeile hier schadlos weggelassen werden könnte. Für eine
Liegewiese sind 100 Objekte ja kein Problem. Meist wird man realistischerweise
einen niedrigeren Wert wählen.)
Ein Objekt mit der Eigenschaft enterable
kann auch von der Spielerfigur betreten werden. Dass die Spielerfigur
sich tatsächlich ins Gras legt (nicht nur draufsteigt oder
sich daraufsetzt), ist nicht vorgegeben - diese Illusion bewirken
einzig und allein die in der after-property
angegebenen Texte für die Standardaktionen ##Enter
und ##Exit.22
Da das Gras überall gleich aussieht, reicht es völlig aus, im ganzen
Spiel nur ein einziges Objekt dafür zu verwenden, das dem Spieler
überall dorthin folgt, wo Gras wachsen sollte. Das Gras ist deshalb
als Schiebekulisse (floating object) implementiert. Dafür sorgt
die property found_in, in der die
Namen aller dergestalt begrünten Räume des Spiels stehen. Betritt
der Spieler einen neuen Raum, kontrolliert die Library alle found_in-properties
und schiebt die benötigten Kulissen einfach hinterher.
Footnotes
- ... tun21
- Wie wir im nächsten Abschnitt sehen werden, gibt es auch das Attribut
container für Objekte, die andere Objekte
enthalten können. Seltsamerweise gibt es kein vordefiniertes Attribut
für Objekte, unter die man andere Objekte legen kann - obwohl
in der überwiegenden Mehrzahl aller Spiele entscheidende Objekte (Schlüssel,
Schriftrollen etc.) unter irgendwelchen anderen Objekten liegen.
- ... COLOR="#0000ff">##Exit.22
- Die Inform-Syntax schreibt vor, den Namen von Aktionen zwei Gatter
## voranzustellen. Davon darf in vielen
Fällen abgewichen und es kann der Name der Aktion ohne Gatter geschrieben
werden: namentlich in Dispatcherroutinen wie before
und after , im Direktaufruf der Aktion
mit spitzer Klammer und in der Definition von Grammatikzeilen (siehe
2.13). Das führt praktisch dazu, dass
man die Gatter kaum je verwenden muss.
Next: ,,...ein Strom, zu wässern
Up: Schritt für Schritt ins
Previous: ,,... allerlei Bäume, lustig
Frank Borger
2003-05-02