Geschrieben um 12:26 am 29.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Mein Problem ist vielleicht nur meiner Blödheit geschuldet, aber folgender Code produziert "die Eingang":
Ausgabe: Zitat: Gentry Street Das erste Mal G.Str.
(Du öffnest zuerst die Eingang.) Schalterhalle Post das allererste Mal besucht (Bitte nicht von den Platzhaltern für die Beschreibungen irritieren lassen, mir geht es hier um den markierten Teil "die Eingang". Ich habe ja die entsprechende Tür eigentlich als männlich markiert. Liegt das Problem darin, dass sowohl der printed name als auch das Synonym beide "Eingang" heißen, aber der printed name für ein weibliches Objekt "door" steht? |
Geschrieben um 12:47 am 29.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Hallo Mario! Bei der Ausgabe des Objektnamens (hier: "die Eingang") wird immer der angegebene Genus des Objekts und der Text des printed name verwendet. PostEntryDoor in deinem Beispiel ist female, der printed name ist "Eingang", also wird erwartungsgemäß "die Eingang" ausgegeben. Deshalb sollte der Objektgenus mit dem angezeigten Namen übereinstimmen. Vokabeln werden grundsätzlich nicht für die Ausgabe des Objektnamens herangezogen. Sie dienen dazu, die Eingabe des Spielers zu verstehen. Die Genus-Kennzeichnungen bei den Vokabeln, z.B. "Eingang [m]" werden ausschließlich vom Canging-Gender-Mechanismus (CG) verwendet, der die Pronomen für Synonyme mit vom Objektgenus abweichendem Genus korrekt setzt. Also z.B.:
Diese Tür ist der Eingang.
Der Weg ist jetzt frei.
Du schließt die Tür. In deinem Beispiel bräuchtest du also nur female durch male bei der Definition von PostEntryDoor zu ersetzen und den abweichenden Genus der Vokabel "Glastuer" mit "[f]" zu kennzeichnen. Die Vokabel Eingang benötigt keine CG-Markierung, weil der Genus von "Eingang" dann mit dem Objektgenus (male) übereinstimmt. Viele Grüße, Christian |
Geschrieben um 12:47 am 29.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Mario Donick:
Na, Deiner Blödheit gewiss nicht, vielleicht eher der Unübersichtlichkeit von I7. Du schreibst: 003399Und damit heißt es dann "die Eingang"; der Eingang ist weiblich. Das [m] in #003366 bezieht sich nur auf die Eingabe. Wenn Du den Eingang #003399 machst, sollte es richtig "der Eingang" heißen und Du kannst Dir das dann redundante [m] in der Vokabel sparen. (Dort muss man den Genus nur angeben, wenn er vom Genus des Objekts verschieden ist.) Mario:
Ja. Die lange Beschreibung "Eine gläserne Eingangstür", die die weibliche "Tür" erwähnt, benötigt keinen Genus, weil sie immer ungebeugt als Block ausgegeben wird. Die Tür selbst hat den #003399 "Eingang". Das ist der Name, der in allen automatisch generierten Ausgabetexten, also zum Beispiel mit #003399, verwendet wird, und der braucht halt den passenden Genus #003399. (Du denkst dort vielleicht auch ohne es zu wollen an die Tür, da Dein Objekt PostEntryDoor heißt.) |
Geschrieben um 14:26 am 29.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Danke für die Hinweise. Jetzt geht es, mit
In der Tat verwirrt mich Inform 7 ziemlich oft, vor allem, wenn ich nach einem halben Jahr Pause wiederkomme. |
Geschrieben um 15:53 am 29.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Und erneut habe ich eine Frage zu Türen (wahrscheinlich kommen die Tage noch diverse, denn ich habe gerade Urlaub ...) Folgender Code:
produziert u.a. folgendes Ergebnis: Zitat:
Die Tür zum Hof ist verschlossen. Da komme ich nicht durch.
Was meinst du, den Eingang oder die Tür zum Hof?
So etwas kann ich hier nicht sehen Wieso? |
Geschrieben um 16:15 am 29.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Verschmelzungen von Präpositionen und Artikeln werden vor dem Parsen aufgelöst, d.h. "zum" in der Spielereingabe wird nach "zu dem" umgewandelt. blue Verstanden werden nun U TÜR ZUM HOF und U TÜR ZU DEM HOF. |
Geschrieben um 10:10 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Danke! Hier kommt die nächste Frage:
Während die Eingabe von "frage frau whitemoore nach frau whitemoore" so funktioniert, wie gedacht (dass sie nämlich über sich selbst sagt, nur eine alte, müde Frau zu sein), geht das mit Ann nicht. Und erneut frage ich mich, wieso? Ich könnte natürlich "Ann" einfach so hinschreiben, aber mit dem Verweis auf CharAnn will ich dem Nutzer erlauben, die diversen Synonyme für Ann zu nutzen ... (auch wenn es sicher noch schwierig wird, "Frau" und "Frau" auseinanderzuhalten, wie ich gerade sehe). |
Geschrieben um 10:37 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 326 | Ehrlich gesagt, wundert es mich, warum das überhaupt geht. Es funktioniert immer, wenn das Objekt der Gefragte ist. Sonst nicht. [CharAnn] gibt in say-texten den printed name des Objekts in Klammern aus. Als understand-Definition habe ich das so noch nie gesehen. Eine saubere Implementierung des Fragens nach Objekten kannst Du nur mit einer Neudefinition des ganzen Frage- und Antwortmechanismus erreichen. Dazu gibt es aber schon Extensions, die das handeln, z.B. "Conversation Framework" von Eric Eve. Hier werden neue Aktionen definiert, die das Fragen nach Objekten ermöglichen. http://inform7.com/extensions/Eric%20Eve/Conversation%20Framework/index.html Die korrekte Schreibweise wäre nach Einbinden der Extension z.B.: Instead of quizzing CharAnn about CharAnn: say "..."; Das hat den großen Vorteil, dass alle Synonyme mit abgedeckt sind, so wie es Deine Absicht ist. -- MI |
Geschrieben um 10:52 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Oh, das ist eine interessante Antwort, und wenn das so ist, dann wundert mich das Funktionieren bei Mrs. Whitemoore auch. Ich werde mal deinen Hinweis mit der Extension beherzigen. Edit: Hm, okay, so einfach ist es dann doch nicht, weil die Extension ja auf Englisch ist und der Spielerbefehl "frag nach" dann nicht so einfach funktioniert ... Mal gucken. |
Geschrieben um 12:17 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Mikawa:
Es funktioniert immer, wenn das Objekt der Gefragte ist. Sonst nicht. "[CharWhitemoore]" wird in Marios Beispiel als Understand-Token (Noun-Filter) interpretiert, erlaubt sind aber, wenn man keine Conversation-Extensions benutzt, nur Topics (Texte). Eigentlich darf NI das nicht durchwinken und es sollte ein Problem-Bericht ausgegeben werden. Das sieht nach einem I7-Bug aus. Hier hat sich Inform 7 anscheinend selbst ausgetrickst: Die Schreibweise "[CharWhitemoore]" wird in say-Texten zur Ausgabe des Objektnamens ohne Artikel verwendet; dann ist es eine Textersetzung (eine Print-Routine). Die gleiche Schreibweise wird auch für Understand-Tokens benutzt: blue Zudem verwendet I7 für Topics, Teile der Spielereingabe (Snippets), Ausgabetexte und Vokabeln die gleiche Schreibung mit Anführungszeichen ("Ann"), obwohl es sich hinter den Kulissen um völlig unterschiedliche Dinge handelt. Compiler verwirrt. Autor auch. Mikawa:
Gibt es schon irgendwo eine Übersetzung des "Conversation Frameworks"? |
Geschrieben um 12:53 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 57 | Zitat:
:-) Vielleicht hat das auch mit der Umgewöhnung zu tun - ich bin normale Programmiersprachen gewohnt, mit einer abstrakten Syntax, bei der man genau weiß, was geht und was nicht. Inform 7 verleitet dazu, Sachen schreiben zu wollen, die nicht unbedingt Sinn machen. Die eingebaute Doku ist da auch nicht immer hilfreich, da sie sich eher an komplett Unerfahrene richtet und das, was ich wissen will, schwer zu finden ist ("Inform 7 for Programmers" von Ron Newcomb hilft da aber gegen.) Mittlerweile experimentiere ich mit der Schrägstrich-Schreibweise, die in der Inform 7 Doku u.a. für Topic-Tabellen genutzt wird: Aber so richtig klappt das auch nicht, z.B. erlaubt mir
den Befehl: "Frage die Frau nach meiner Schwester", aber nicht "Frage die Frau nach Ann". Schreibe ich hingegen
dann kann ich sowohl nach "Ann" als auch nach "Schwester" fragen. Es scheint also entweder ein Limit zu geben bzgl. der Länge des Strings, oder der Anzahl der durch / getrennten Begriffe, oder der Nutzung von Leerzeichen. |
Geschrieben um 13:03 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 99 | Mario Donick: Ask CharWhitemoore about "Ann/Schwester/meiner Schwester"
|
Geschrieben um 13:11 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 326 | was nicht wirklich Sinn macht. Du musst wohl oder übel die Zeile komplett trennen:
oder eben besagte Erweiterung verwenden oder eine eigene schreiben. Konversation ist das komplexeste Element in Textadventures. -- MI |
Geschrieben um 14:04 am 30.11.2010 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 99 | Gibt es keine Möglichkeit das Leerzeichen irgendwie zu maskieren? |
Geschrieben um 06:09 am 01.12.2010 | Zitat | Editieren | Löschen | |
Mitglied Master Gumby Beiträge: 104 | Man kann ein neues Token definieren (wie Christian schon geschrieben hat) und dabei zur Verkürzung die Schrägstrich-Variante plus blue plus blue nehmen:
|