Sitzgelegenheiten sind meist keine besonders spektakulären Objekte. Trotzdem tauchen sie in vielen Adventures auf. Dieses Beispiel für Inform behandelt die wichtigsten Dinge, die man mit einem Sessel anstellen kann.
Object -> Sessel
with dekl 2, adj "schwer" "ledern",
name "sessel" "ledersessel" "schwer" "ledern"
"schwarz" "dick" "pseudoledern" "armsessel",
initial "Die nördliche Wand des Zimmers wird von
einem dicken, schwarzen Sessel eingenommen.",
description "Ein gemütlicher schwarzer Sessel.",
enter_text "in", ! bei einem Stuhl kann man
! dies in "auf" abändern...
inside_description [;
print_ret "Du entspannst dich gerade ",
(string) self.enter_text," ",
(dem) self, ".";
],
react_before [;
Go, Enter: if (player in self && noun ~= self)
"Du solltest erst aufstehen, bevor du
irgendwo hingehst.";
Exit: if (player in self && noun ~= self &&
noun ~= 0)
"Du solltest erst aufstehen, bevor
du irgendwo hingehst.";
],
before [;
PushDir: AllowPushDir();
rtrue;
Take: if (player in self)
"Du sitzt doch gerade ",
(string) self.enter_text," ",
(dem) self, ".";
],
after [;
Enter: "Du setzt dich ",
(string) self.enter_text," ",
(den) self, ".";
LookUnder: "Schatten!";
Touch: "Das Leder fühlt sich furchtbar
falsch an!";
],
has male static supporter enterable;
Der Sessel kann leicht zu einer Sitz-Klasse ausgebaut werden. Der enter_text erlaubt es dann, für jedes Objekt bequem anzugeben, ob der Spieler »in« oder »auf« ihm sitzt. Das Befühlen des Sessels sollte dann allerdings beim Objekt, nicht in der Klasse definiert werden.
Der hier beschriebene Quellcode ist für Inform 6.1 mit der deutschen Library von Toni Arnold.
03.06.2001, Max Kalus
|
 |
Fünf Unterschiedliche Ideen rund um ein Thema
Auftanken Kurzentwürfe für Abenteuer
Ersatzteile Fertige Objekte, Befehle und Räume für Abenteuer
Werkstatt Mechanik und Innenleben von Textadventures
Testfahrt Die Straßenlage deutscher Adventures
Grand Prix Der Textadventure- Wettbewerb
Abbiegen Lohnende Nebenstraßen
Intern Was textfire.de will, wer es macht und wie man mitmacht
|