Geschrieben um 20:23 am 14.04.2011 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 40 | Moin an alle! Mir ist gerade etwas aufgefallen, das ich (wie so oft...) nicht verstehe. Falls das hier schon behandelt wurde, freue ich mich über einen Link: Um von einem Straßenabschnitt auf einen Hinterhof zu kommen, habe ich einen Durchgang programmiert, der je nach location nach Norden oder Süden führt. Dies soll in der initial-Property genannt werden. Der Gang sieht so aus:
So, wie er da steht, führt er von beiden Orten angeblich nach Norden, aber das ist nicht mein Problem. Die auskommentierte Zeile spricht über die door_dir-Prop denselben Fehler an: In der Raumbeschreibung der Straße steht nämlich: Zitat:
(Versuche mit print (string) statt (name) haben erwartungsgemäß noch seltsamere Ausgaben nach sich gezogen.) Ist jemandem von euch dieses Problem schon mal aufgefallen? Ich kann mir vorstellen, dass irgendetwas in der German.h nicht korrekt zugewiesen wird. Ob Bug oder fehlende Kenntnis des Programmkern meinerseits - das Problem lässt sich ja leicht umgehen, indem ich qua Fallunterscheidung die Richtung des Gangs selbst schreibe. Ich frage mich nur, wo der Wurm drin ist. Schöne Grüße, Christof |
Geschrieben um 22:25 am 14.04.2011 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Moin Christof, Du versuchst, den Namen einer Objekteigenschaft auszugeben. Zitat:
Das kann nicht funktionieren. Wenn Du auf eine konkrete Objekteigenschaft zugreifen möchtest, geht das mit <Objekt>.<Eigenschaft>, also z.B. self.n_to. Edit: Der Compiler gibt hier auch eine Warnung aus: Inform 6:
Aber was Du hier machen möchtest, ist wahrscheinlich den Namen des Objekts "Norden" ausgeben zu lassen. Der Norden als Objekt heißt in Inform n_obj. Analog dazu heißen die anderen Richtungen s_obj, e_obj usw.
|
Geschrieben um 23:41 am 14.04.2011 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 40 | Schönen Dank, Christian! DM4 schreibt dazu: Zitat:
Der Unterschied war mir eigentlich klar, aber eben nicht präsent. So wie ich das entsprechende Kapitel und die Informisiererei überhaupt verstanden habe, gilt Folgendes:
Korrigiere mich bitte, wenn ich falsch liege. (Hat keine Eile, da der Fehler schon längst behoben ist.) Schöne Grüße, Christof |
Geschrieben um 08:45 am 15.04.2011 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | C++:
Genau. Intern sind natürlich alles Zahlen:
Es wurde einmal gefordert, dass die Richtungsobjekte und -eigenschaften so definiert werden, dass sie gleich sind. (Wenn der Autor vor dem Einbinden der lib keine eigenen Properties oder Objekte definiert und keine anderen Header einbindet.) Und wenn ich ein kleines Beispiel mit deform kompiliere, ist das auch so. Wird in Deinem oder in einem eingebundenen Quelltext vor dem Einbinden von "Parser.h" eine Eigenschaft mit Property definiert? C++:
Es gibt eine Routine LanguageDirection, die zu jeder Property die Richtung ausgibt:
(Es gibt auch LanguageDirectionAdj, das dann "nördlich" usw. ausgibt. (Allerdings funktioniert das nicht sehr gut bei den "normalen" Richtungen oben, unten, rein und raus, weil ich kein schönes, allgemein gültiges Adjektiv gefunden habe, das für Ausdrücke wie "nördliche Wand" oder "in nördliche Richtung" passt. Vielleicht ober(e), unter(e), inner(e) und äußer(e)?) |
Geschrieben um 20:10 am 19.04.2011 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 40 | Hi Martin, vielen Dank, klappt prima! Die Routine steht sogar im DM4, aber in einem Teil, den ich noch nicht auswendig gelernt habe, und sie macht genau die Fallunterscheidung, die ich mir dann sparen kann. Christof |