Helium Balloon (lines 105-146)
Back to List
Browsing Toyshop.inf
105 ! >HE The balloon is completely self-contained as a piece of code, except
106 ! that it does not set itself going (though even this could have been
107 ! arranged): it is set going in the Initialise() routine.
108 !
109 ! Notice that the "after" for Drop takes away the "moved" attribute.
110 ! This is one way to ensure that the "initial" message will always be
111 ! the one displayed. (Alternatively, we could have given it a "describe"
112 ! property.)
113 ! ----------------------------------------------------------------------------
114
115 Object -> balloon "helium balloon"
116 with description "Blue, with a yellow smile.",
117 name "helium" "balloon" "blue" "string",
118 initial "A balloon nestles on the ceiling, its long string hanging.",
119 before
120 [; Attack: remove self; StopDaemon(self);
121 "Easily, you burst the balloon. Pop!^^
122 Shame it was irreplaceable, really.";
123 ],
124 after
125 [; Take: "You take the balloon by its string. It's buoyant!";
126 Drop: give balloon ~moved;
127 "The balloon rises gracefully to the ceiling.";
128 ],
129 daemon
130 [ from_room to_room;
131 if (random(3)~=1) rfalse;
132 from_room=parent(self);
133 if (from_room==East_End or West_End) to_room=Toyshop;
134 if (from_room==Toyshop)
135 { if (random(2)==1) to_room=East_End;
136 else to_room=West_End;
137 }
138 if (to_room==0) rfalse;
139 move self to to_room;
140 if (location==from_room)
141 "^A breeze blows the balloon away to the ", (name) to_room, ".";
142 if (location==to_room)
143 "^A breeze blows the balloon in from the ", (name) from_room, ".";
144 ];
145
146 ! ----------------------------------------------------------------------------
Last updated 23 June 2004.
This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation.
Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Graham Nelson (graham@gnelson.demon.co.uk) assisted by C Knight.