Forum moved to if-forum.org
Autor Nachricht
<  Überschreiben deutscher (GerX) understand Definitionen
Wilson
BeitragVerfasst am: Mo, 18 Apr 2016 - 23:22  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 10.04.2016
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
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Di, 19 Apr 2016 - 0:22  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

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:

Understand the command "lies" as something new.

Um etwas chirurgischer vorzugehen, empfiehlt es sich in deinem Fall wohl eher, nur die Satzmuster, die die Aktion Examining triggern, zu ändern:

Understand the command "lies [something]" as something new.
Understand "lies [something]" as reading.

Understand the command "lies in [dativ] [something]" as something new.
Understand "lies in [dativ] [something]" as reading.

Understand the command "lies in [dativ] [something] nach" as examining.
Understand "lies in [dativ] [something] nach" as reading.

Understand the command "lies nach in [dativ] [something]" as something new.
Understand "lies nach in [dativ] [something]" as reading.

[Understand the command "les" as "lies".]


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
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Wilson
BeitragVerfasst am: Di, 19 Apr 2016 - 1:01  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 10.04.2016
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?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Di, 19 Apr 2016 - 8:37  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

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:

Understand the command "lies" as something new.
Understand the command "les" as something new.

Understand "lies [something]" as reading.
Understand "lies [things] auf" as taking.
Understand "lies in [dativ] [something]" as reading.
Understand "lies in [dativ] [something] nach" as reading.
Understand "lies nach in [dativ] [something]" as reading.
Understand "lies nach in [dativ] [something] ueber/von [text]" as consulting it about.
Understand "lies nach ueber/von [text] in [dativ] [something]" as consulting it about (with nouns reversed).
Understand "lies [force nach] in [dativ] [something] ueber/von [text] nach" as consulting it about.
Understand "lies [force in] in [dativ] [something] nach ueber/von [text]" as consulting it about.
Understand "lies [force in] in [dativ] [something] ueber/von [text]" as consulting it about.
Understand "lies [force in] ueber/von [text] in [dativ] [something] [nach]" as consulting it about (with nouns reversed).

[Um das folgende Satzmuster zu priorisieren, benutzen wir ein überflüssiges, weil für alle
Objekte zutreffendes, Adjektiv (dummy-consultable), um dem System einen Spezialfall vorzugaukeln.]
Definition: An object is dummy-consultable: yes.
Understand "lies [force nach in] ueber/von [text] nach in [dativ] [something dummy-consultable]" as consulting it about (with nouns reversed).[**]

Understand "lies [force nach in] [text] nach in [dativ] [something]" as consulting it about (with nouns reversed).
Understand "lies [force nach] [text] in [dativ] [something] [nach]" as consulting it about (with nouns reversed).
Understand "lies [force in] [text] in [dativ] [something]" as consulting it about (with nouns reversed).
Understand the command "les" as "lies".

_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Di, 19 Apr 2016 - 10:43  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

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:

A thing can be readable.

The book is readable.

Understand "lies [something readable]" as reading.
Understand "lies in [dativ][something readable]" as reading.
[ ... ]


Das ist vielleicht die bessere Variante, weil dann auch "lies" für andere Objekte verstanden wird, z.B. "lies die Spuren".
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Wilson
BeitragVerfasst am: Di, 19 Apr 2016 - 15:58  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 10.04.2016
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?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Di, 19 Apr 2016 - 16:08  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Wilson hat folgendes geschrieben:
Letzterer Post bedeutet, dass Inform eine speziellere Understand-Definition einer allgemeineren vorzieht?

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).
_________________
Worichtung willst du ingehen?
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