Geschrieben um 00:22 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Baby Gumby Beiträge: 8 | Hallo Alle, "lies [something]" is in GerX umgeleitet auf examining. Was muss ich tun, damit inform "lies Buch" und "untersuche Buch" als zwei verschiedenen Aktionen auffassen kann? ich habe "reading is an action applying to one thing. understand "lies [something]" as reading" versucht und check und carry out rules für reading definiert. "lies Buch" leitet aber immer auf die standard examining rule um. Wie kann ich sozusagen meiner "lies" Definition Vorrang verschaffen? Danke Wilson |
Geschrieben um 01:22 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Moin Wilson, Das Verb "lies" und dessen Synonym "les" werden für eine ganze Reihe von Satzmustern verwendet, wie du im Index der Inform-Umgebung nachsehen kannst. Alle Satzmuster zu löschen ist wohl wenig sinnvoll, da auch "lies etwas auf" (-> Nehmen) und die ganzen Consult-Satzmuster der Löschung zum Opfer fielen. Trotzdem könntest du alle Satzmuster für das Verb "lies" so löschen: blue Um etwas chirurgischer vorzugehen, empfiehlt es sich in deinem Fall wohl eher, nur die Satzmuster, die die Aktion Examining triggern, zu ändern: blue In diesem Fall braucht "les" nicht als Synonym zu "lies" definiert werden, deshalb habe ich es auskommentiert, aber zur Erinnerung noch mal dazu geschrieben. Die [dativ]-Token sind wichtig, damit der Parser im Falle einer unvollständigen Spielereingabe die Nachfrage korrekt formulieren kann, z.B. "Worin willst du lesen?" anstatt "Worein willst du lesen?". Ich hoffe, das hilft. Viele Grüße Christian |
Geschrieben um 02:01 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Baby Gumby Beiträge: 8 | Vielen Dank! Allerdings funktioniert es bei mir nicht. Ich habe Folgendes geschrieben: Understand the command "lies [something]" as something new. Understand "lies [something]" as reading. reading is an action applying to one thing. Check reading the closed letter: say "Der Brief ist noch verschlossen. Du kannst den Inhalt auch durch den Umschlag nicht erkennen." instead. Carry out reading the open letter: Increase score by 100. Wenn ich nun "lies den Brief" eingebe, dann bekomme ich als Antwort die description von letter; das ist die standard examination rule, nicht meine reading rule. (letter is a thing that is either open or closed). Der Index enthält nun auch beide actions: "lies [something]" - Examining "lies [something]" - reading Die erste Definition von GerX, die zweite von mir. Die Verweisung auf examining is anscheinend nicht entfernt worden. Was mache ich falsch? |
Geschrieben um 09:37 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Na gut, das scheint so nicht zu gehen. Man kann tatsächlich nur ganze Verb-Blöcke überschreiben, was beim Verb "lies" schon eine Zumutung ist. Vielleicht gibt es ja noch eine schönere Lösung, hier erst mal die Definitionen von lies: blue |
Geschrieben um 11:43 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Anstatt wie oben an der Syntax zu schrauben und alles neu zu definieren, könntest du auch die Semantik für das Lesen von bestimmten Objekten verfeinern: blue Das ist vielleicht die bessere Variante, weil dann auch "lies" für andere Objekte verstanden wird, z.B. "lies die Spuren". |
Geschrieben um 16:58 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Baby Gumby Beiträge: 8 | Vielen, vielen Dank! Das war eine super schnelle und sehr gute Antwort. Letzterer Post bedeutet, dass Inform eine speziellere Understand-Definition einer allgemeineren vorzieht? |
Geschrieben um 17:08 am 19.04.2016 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 1062 | Wilson:
Ja, genau. Das gilt grundsätzlich: Der Parser arbeitet sich vom speziellsten Fall hoch zum allgemeinsten. Auch die Regelbücher (rulebooks) funktionieren so, wenn ich mich richtig erinnere. Die Regelwerke für die Aktionen sind aber auch noch mal unterteilt in Standard-Regelbücher (Check, Carry out, Report), die für jede Aktion definiert sind (oder für neue Aktionen definiert werden müssen) und die analog dazu existierenden Regelbücher für Spezialfälle im Spiel (Before, Instead, After). |