Forum moved to if-forum.org
Autor Nachricht
<  Fehler bei geschlossenen Behältern?
C++
BeitragVerfasst am: Do, 22 Jul 2010 - 22:44  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 21.12.2009
Beiträge: 45
Wohnort: Kiel

Kuckuck, ich bin's noch mal... Und ich erwarte keine kostenlose Nachhilfe, vor allem, weil etwas Ähnliches unter [url]http://forum.ifzentrale.de/viewtopic.php?t=814 [/url]schon mal diskutiert wurde. Nur geholfen haben mir die vielen Tipps von Christian dort nicht.

Das DM4 sagt (wenn ich's richtig verstehe), dass der Inhalt von Containern nur sichtbar ist, wenn diese offen oder transparent sind. Trotzdem bekomme ich beim Untersuchen von Containern den Inhalt aufgelistet.

Das ganze sieht so aus:

Code:

Object   -> herd "steinern@00 Herd"
with      description [; print "Der Herd ist aus dicken glatt gehauenen Feldsteinen gemauert und hat einen großen Schornstein in der
            Nordostecke der Küche. An der Vorderseite ist eine mit Luftschlitzen versehene Eisenklappe angebracht, hinter der das Herdfeuer
            angemacht wird. Obenauf liegt eine schwere eiserne Kochplatte, auf der mindestens vier große Töpfe Platz haben.";],
            initial "Ein mächtiger gemauerter Herd steht an der Nordwand.",
            name 'herd' 'kochplatte',
            before [; Open:
               <<open klappe>>;
            ],
has         supporter male enterable static;


Object   ->-> klappe "Herdklappe"
with      name 'herd' 'klappe' 'herdklappe',
            describe [;
               print "Vorne am Herd ist eine schwere eiserne Klappe angebracht. Vier Schlitze darin sorgen dafür, dass das Herdfeuer nicht
               erstickt.";
               if (self has open) print "Die Herdklappe ist geöffnet.";
               else rtrue;
            ],
!            invent [;if (self hasnt open) rtrue;],
!            when_closed [;print (string) self.describe;],
has         concealed container openable female;


Deko2   ->->-> asche "Asche"
with      name 'asche',
            article "etwas",
has         female;

Immer wenn ich die Herdklappe anschaue, wird die Asche genannt. (In der momentanen Version ausschließlich, aber das ist erst mal egal.)

Die im o.g. Thread vorgeschlagene Lösung mit react_before wirkt für mich ein wenig von hinten durch die Brust ins Auge; daher habe ich sie noch nicht ausprobiert. Mit der invent-, der description- und der describe-Property habe ich auch schon rumgespielt; nützt alles nichts: die Asche bleibt sichtbar.

Liegt hier ein Fehler in der Lib vor?

Schöne Grüße,

Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Fr, 23 Jul 2010 - 8:31  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Also ich bekomme mit Deinem Code:
Frotz hat folgendes geschrieben:
> u klappe
Du kannst nicht hineinschauen, die Herdklappe ist geschlossen.

> öffne sie
Du öffnest die Herdklappe und findest etwas Asche darin.

> u klappe
In der Herdklappe siehst du etwas Asche.

Und das klingt doch vernünftig (außer dass die Asche wohl im Herd und nicht in der Klappe ist - Du kannst Dir hier gewiss eine Verschahtelungstiefe sparen). Ich habe die Klasse Deko2 einfach als static implementiert.

Und die Leerzeilen sehen bei mir wieder sehr durcheinander aus. Da Du gerne in der Lib Sachen änderst, kompiliere Dein Spiel doch mal mit einer frischen, unangetasteten Lib.
Zitat:

_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
C++
BeitragVerfasst am: Fr, 23 Jul 2010 - 21:58  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 21.12.2009
Beiträge: 45
Wohnort: Kiel

Hallo Martin!

Danke für den Tipp, jetzt läuft es erst mal wie geplant. Tatsächlich sah meine ExamineSub anders aus als die, die ich vor zwei Tagen von deiner Webseite geladen habe. Nein, ich habe keine Ahnung, woher die Änderungen kommen, aber der Kreis der Verdächtigen ist ziemlich klein... (Ich schreibe immer nur in längeren Ferien an meinem Adventure, da sollte ich solche Änderungen wohl protokollieren.)

Zitat:
Und das klingt doch vernünftig (außer dass die Asche wohl im Herd und nicht in der Klappe ist - Du kannst Dir hier gewiss eine Verschahtelungstiefe sparen). Ich habe die Klasse Deko2 einfach als static implementiert.

Jepp, das glaube ich auch. (Genau so wenig muss die Stange über dem Herd nicht dessen Tochterobjekt sein.) Problem bei Herd/ Herdklappe ist, dass ein Gegenstand nur Supporter oder Container sein kann. Wie nennt man eigentlich den Innenraum eines frühzeitlichen Herds, in dem das Feuer gebrannt hat? Brennkammer wohl kaum.
Vielleicht fällt mir da noch was Besseres ein, sonst bleibt die Herdklappe zu und der Schatz wird im Klohäuschchen versteckt.

Schöne Grüße,

Christof
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05