Kommentare ergaenzt.
diff --git a/room/huette16.c b/room/huette16.c
index b2ce48d..3feee6a 100644
--- a/room/huette16.c
+++ b/room/huette16.c
@@ -24,13 +24,22 @@
::reset();
object kiste = present_clone(__PATH__(1)"obj/kiste");
- if (!objectp(kiste)) return; // sollte nicht passieren
+ // Sollte nicht passieren, da in :reset() bereits AddItem() gerufen wurde:
+ if (!objectp(kiste)) return;
+ /* Doku zu filter() bitte in "man filter" nachlesen. Wir benutzen hier eine
+ Inline-Closure, so etwas sollte ja aus den bisherigen Beispielen wohl-
+ bekannt sein: */
object *zeugs = filter(all_inventory(), function int(object o) {
return (!living(o)); });
if (pointerp(zeugs) && sizeof(zeugs)) {
tell_room(TO, BSLF(
"Der Raum gurgelt, die Kiste ruelpst."));
+ /*
+ Wie in "man call_other" erlaeutert, muss man nicht durch ein Objekt-
+ Array durchiterieren, wenn man eine Member-Function fuer jedes einzelne
+ Objekt aufrufen moechte, sondern kann die folgende Syntax verwenden:
+ */
zeugs->move(kiste, M_PUT);
} else {
tell_room(TO, BSLF(