| Autor |
Nachricht |
| < I7 und GerX Fragen |
|
Verfasst am:
Mi, 10 Nov 2010 - 12:42
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
OK, Danke für den Tipp. Bis jetzt haben meine Tests damit funktioniert. (Chaper 3.24. schränkt die Nutzung auch ziemlich auf tragbare/bewegbare Dinge ein, aber das passt ja bei meinem Beispiel)
Mit scenery ist das aber auch ein ganz schönes Gewurschtel und selbst die Doku sagt | Zitat: | | Being immobile, scenery should not be used for portable objects that are meant to be left out of the room description. | Damit hatte es zwar funktioniert, aber wer weiß welche Nebeneffekte ich dabei übersehe.
Ich könnte auch den Apfel als Teil des Baumes machen und dann eine Rule for deciding the concealed possessions schreiben, aber den "Rules"-Abschnitt der Doku habe ich noch nicht gelesen ;-) Ich arbeite mich langsam durch. |
|
|
|
 |
|
Verfasst am:
Mi, 10 Nov 2010 - 12:53
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
| jorl hat folgendes geschrieben: | | Mit scenery ist das aber auch ein ganz schönes Gewurschtel und selbst die Doku sagt ... |
Och, eigentlich kann man da ganz einfach eingreifen:
The apple is scenery.
Before taking the apple when the apple is scenery: now the apple is not scenery; now the apple is portable.
Damit deckt man auch gleich removing ab.
Edit: "described"/"undescribed" ist aber seit dem letzten I7-Release dokumentiert, habe ich gerade gesehen. Gut möglich, dass Probleme im Zusammenhang mit dieser Eigenschaft behoben wurden. |
|
|
|
 |
|
Verfasst am:
Mi, 24 Nov 2010 - 10:58
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
Mit ist noch etwas aufgefallen: [a list of visible other things with nominative] liefert bei Teilen von Personen beispielsweise:
| Code: | | eine Zipfelmütze des Gartenzwergs |
Der Zwerg ist ein man und die Mütze ein Teil des Zwerges. Ich würde hier eher erwarten "die(!) Zipfelmütze des Zwerges" so wie "die(!) Nase des Mannes".
Könnte man hier den Standard anpassen oder übersehe ich etwas und sollte lieber die Liste selber bauen?
Außerdem wäre es schön, wenn Dinge die Teil eines anderen Dinges sind, direkt dahinter aufgezählt würden und nicht (scheinbar zufällig) gemischt mit allen anderen. |
|
|
|
 |
|
Verfasst am:
Mi, 24 Nov 2010 - 11:52
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
| jorl hat folgendes geschrieben: | Mit ist noch etwas aufgefallen: [a list of visible other things with nominative] liefert bei Teilen von Personen beispielsweise:
eine Zipfelmütze des Gartenzwergs |
Das ist völlig korrekt so. [a list of ... ] schreibt eine Liste mit unbestimmtem Artikel, daher das "eine Zipfelmütze". Um eine Liste mit bestimmtem Artikel zu erzeugen, muss [the list of ... ] verwendet werden; das müsste dann "die Zipfelmütze" schreiben (falls nicht, ist das ein Bug!).
Analog dazu gibt es noch die Listen mit großem Anfangsbuchstaben:
[A list of ...]
[The list of ...]
Siehe hierzu auch:
http://ifiction.pageturner.de/inform7/gerxdoku.html#docsec32d |
|
|
|
 |
|
Verfasst am:
Mi, 24 Nov 2010 - 13:14
|
|
|
Experte

Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
| jorl hat folgendes geschrieben: | | Der Zwerg ist ein man und die Mütze ein Teil des Zwerges. Ich würde hier eher erwarten "die(!) Zipfelmütze des Zwerges" so wie "die(!) Nase des Mannes". |
Beides ist ja denkbar: sowohl eine Zipfelmütze des Zwergs (der Zwerg hat 27 Zipfelmützen) als auch die Zipfelmütze des Zwergs (er hat nur eine, und der Gnom hat eine eigene).
Was genau gemeint ist, kann GerX nicht wissen. Wenn Du statt des unbestimmten Artikels immer einen bestimmten verwenden willst, kannst Du das so machen:
The special indefinite article of the cap is DEFINITE ARTICLE. _________________ Every silver lining has a cloud. |
|
|
|
 |
|
Verfasst am:
Mi, 24 Nov 2010 - 15:03
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
Naja, selbst wenn der Gnom auch eine Mütze hätte, dann wären beide jeweils "eine Mütze", aber beim Auflisten eben "die Mütze des Zwerges" und "die Mütze des Gnomes", ebenso im Plural "die Mützen des Zwerges".
Analog zu Körperteilen.
Nur bestimmte Artikel in einer Afzählung wie der folgenden sind auch nicht so schön: | Code: | | Hier sind ein Spaten, ein Tor, Rosen, Veilchen, ein Gartenzwerg, ein Apfel und eine Zipfelmütze des Gartenzwergs. |
Aber das ist natürlich schon ein sehr spezieller Fall. Ich werde mich mal selbst an einer Liste versuchen. (Ich habe dazu von Christian auch schon einige Anmerkungen per Mail erhalten.)
Edit:
Ich habe nochmal darüber nachgedacht. Du hast Recht. Der Zwerg könnte auch zwei einzelne Mützenobjekte besitzen und damit fällt meine ganze Argumentation.
Ich teste mal: Every zwerg has a mütze. |
|
|
|
 |
|
Verfasst am:
So, 28 Nov 2010 - 13:46
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
Ich habe Probleme beim Zusammenfassen von Aktionen. Ich wollte gern etwas wie folgendes machen:
| Code: | Instead of touching the chair or touching the table:
say "Du fühlst die Maserung des Holzes.". |
Das geht aber nicht. Ich kann das natürlich auch einzeln schreiben, wüßte aber gern wie man das richtig zusammenfassen kann. |
|
|
|
 |
|
Verfasst am:
So, 28 Nov 2010 - 14:43
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Man kann zwei Rules nicht in einer einzigen zusammenfassen. Das hat, soweit ich das verstehe, etwas mit der Struktur der Rulebooks zu tun.
Deine Instead-Regel müsste wohl in ein weniger spezielles Regelbuch geschrieben werden, wo dann das Objekt näher betrachtet wird.
Instead of touching something (called the feely): if the feely is the chair or the feely is the table, say "Du fühlst die Maserung des Holzes."; otherwise continue the action. |
|
|
|
 |
|
Verfasst am:
Mo, 29 Nov 2010 - 10:20
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
Mmh, ich dachte das klappt, weil es das selbe Verb ist. Beim selben Objekt funktioniert es ja (instead of pushing or touching the chair ...). Schade.
Bei "something" ist die Regel dann ziemlich allgemein und da sehe ich trotz action-index irgendwann nicht mehr richtig durch, was eigentlich warum passiert. Für mein einfaches Problem wird es wohl das beste sein ich schreibe das getrennt für Tisch und Stuhl. |
|
|
|
 |
|
Verfasst am:
Mo, 29 Nov 2010 - 10:32
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
| jorl hat folgendes geschrieben: | | Mmh, ich dachte das klappt, weil es das selbe Verb ist. Beim selben Objekt funktioniert es ja (instead of pushing or touching the chair ...). |
Aha! Das geht also doch. Na dann kannst du es so machen, wie du ursprünglich vorhattest:
Instead of touching when the noun is the bed or the noun is the chair: say "Du fühlst die Maserung des Holzes.".
Irgendwann begreife ich I7 vielleicht auch noch mal. Irgendwann. |
|
|
|
 |
|
Verfasst am:
Mo, 29 Nov 2010 - 11:11
|
|
|
Abenteurer

Anmeldungsdatum: 03.09.2009
Beiträge: 453
Wohnort: Cham
|
|
Oder ein anderer Vorschlag (falls im Spielverlauf noch mehr Gegenstände dazukommen, die hölzern sind)
| Code: |
A thing can be wooden.
The chair is a wooden thing.
The table is a wooden thing.
Instead of touching something wooden:
say "Du fühlst die Maserung des Holzes.".
|
Nach meiner Erfahrung mit meinem Erstlingswerk passiert das rasend schnell, wenn man an der Geschichte weiterschreibt und irgendwann wird dann die Abfrage nach Einzelobjekten mehrere Zeilen lang und sehr unübersichtlich.
-- MI |
|
|
|
 |
|
Verfasst am:
Mo, 29 Nov 2010 - 22:25
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
Danke. Wieder etwas gelernt.
Ich habe nun endlich [dativ] in meinen eigenen Aktionen nachgetragen. Dabei hat sich das Verhalten des Parsers, aber auch unerwünscht geändert. | Code: | Sparkling it with is an action applying to two things.
Understand "giess [something] mit [dativ] [other thing]" as sparkling it with.
Understand "giess [something] auf [other thing]" as sparkling it with (with nouns reversed).
Does the player mean sparkling the vegetable patch with the old bucket:
it is very likely. |
Ohne [dativ] führt: "giess beet" korrekt zu:
(mit dem Eimer)
Du gießt das Gemüsebeet mit dem Eimer.
Nun passiert aber folgendes:
Worauf willst Du das Gemüsebeet gießen?
Es wird jetzt offenbar die zweite "Understand"-Version bevorzugt. Was zum Tauschen der Substantive führt und damit greift auch die "likely"-Anweisung nicht mehr korrekt. Das ist zumindest meine Vermutung. Die Frage ist nun, wie kann ich das beeinflussen? |
|
|
|
 |
|
Verfasst am:
Mo, 29 Nov 2010 - 22:33
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
und noch ein Problem mit einer neuen Aktion bzw. mit der automatischen Vervollständigung von Eingaben des Spielers:
| Code: | Digging it with is an action applying to two things.
Understand "grab [something] mit [dativ] [other thing]" as digging it with.
Understand "grab [something] um mit [dativ] [other thing]" as digging it with.
Understand "grab [something] mit [dativ] [other thing] um" as digging it with. |
das funktioniert:
>grabe beet
(mit dem Spaten)
Die Erde ist locker genug.
aber das leider nicht:
>grabe mit spaten
So etwas kannst Du hier nicht sehen.
Irgendwie muss es aber gehen, da z.B. "öffne mit schlüssel" auch zu einer sinnvollen Frage wie "Was willst Du mit dem Schlüssel öffnen?" führt. |
|
|
|
 |
|
Verfasst am:
Mo, 29 Nov 2010 - 23:59
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Fall 1:
| jorl hat folgendes geschrieben: | Ohne [dativ] führt: "giess beet" korrekt zu:
(mit dem Eimer)
Du gießt das Gemüsebeet mit dem Eimer.
Nun passiert aber folgendes:
Worauf willst Du das Gemüsebeet gießen? |
Ich habe zum Testen folgende Aktion definiert (ohne das von dir definierte Adjektiv "other"):
Sparkling it with is an action applying to two things.
Understand "giess [something] mit [dativ] [something]" as sparkling it with.
Understand "giess [something] auf [something]" as sparkling it with (with nouns reversed).
Report sparkling: say "Du gießt [den noun] mit [dem second noun]."
Wenn man sich die Grammar-Lines genauer ansieht ...
| Mein Testspiel hat folgendes geschrieben: | >showverb giess
Verb 'giess'
* noun 'auf' noun -> A96_sparkling_it_with reverse
* noun 'mit' Routine(23322) noun -> A96_sparkling_it_with |
... erkennt man: Das Satzmuster mit "auf" wird als erstes von I7 angelegt, sodass auch diese Syntax zum Erzeugen der Parser-Nachfrage oder zum Vervollständigen des Kommandos (in Klammern) herangezogen wird, wenn ein Substantiv fehlt. Das ist meiner Meinung nach eine der übelsten Einschränkungen, mit der wir uns als GerX-Nutzer so rumplagen müssen! Es gibt für uns keine offizielle Möglichkeit, die Reihenfolge der Grammar-Lines zu beeinflussen, noch nicht zumindest. Es gibt aber einen dreckigen Trick: Man muss Inform mit einer sinnlosen Definition einen Spezialfall vorgaukeln, denn je spezieller das Satzmuster, desto früher wird es angeordnet.
Leider funktioniert das nicht, wenn das Dativ-Token im Spiel ist. Warum das so ist, kann ich mir nicht recht erklären (vielleicht hält I7 das Dativ-Token, das eine "general parsing routine" (GPR) ist, für weniger speziell als ein Objekt). Selbst wenn ich dem System einen simulierten Spezialfall präsentiere ...
Definition: a thing is thingy: yes.
Understand "giess [something thingy] mit [dative] [something]" as sparkling it with.
... ordnet der I7-Compiler die Grammar-Line nicht an erster Stelle ein. Eigenwilliges Biest!
Wie immer, wenn ich an I7 zu verzweifeln drohe, rufe ich Inform 6 zu Hilfe. Da gibt es eine Verben-Erweiterungsoption "first", genau das, was wir brauchen. Also noch mal von vorn:
Sparkling it with is an action applying to two things.
Understand "giess [something] mit [dative] [something preferably held]" as sparkling it with.
Understand "giess [something preferably held] auf [something]" as sparkling it with (with nouns reversed).
Report sparkling: say "Du gießt [den noun] mit [dem second noun]."
The sparkling it with action translates into I6 as "SparkleWith".
Include (-
Extend 'giess' first
* noun 'mit' DATIVE_TOKEN held -> SparkleWith
;
-) before "Flex.i6t". [Dies ist irgendwo nach den I7-Verbendefinitionen.]
Dies fügt die zweite Grammar-Line noch einmal ein, nur an erster Stelle.
Wenn du kein implizites Nehmen durch das held-Token (something preferably held) wünscht, sondern nur [something], "held" durch "noun" ersetzen :
Include (-
Extend 'giess' first
* noun 'mit' DATIVE_TOKEN noun -> SparkleWith
;
-) before "Flex.i6t". [Dies ist irgendwo nach den I7-Verbendefinitionen.]
Das ist eine absolute Notlösung, funktioniert aber. Und nun schnell wieder raus aus dem Grenzgebiet ...
Fall 2:
| jorl hat folgendes geschrieben: | das funktioniert:
>grabe beet
(mit dem Spaten)
Die Erde ist locker genug.
aber das leider nicht:
>grabe mit spaten
So etwas kannst Du hier nicht sehen. |
Die Satzmuster mit "mit" direkt nach dem Verb fehlen:
Understand "grab mit [something] in [something]" as digging it with.
Understand "grab mit [something] [something]" as digging it with.
Dann sollte es funktionieren. |
|
|
|
 |
|
Verfasst am:
Di, 30 Nov 2010 - 11:32
|
|
|
Wasserträger

Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz
|
|
Diese ausführlichen Erläuterungen zu Fall1 führen mich mal zu der generellen Frage: Lohnt sich das Einarbeiten in Inform 6? Inform7 hat für mich so angezogen, weil es mal etwas anderes ist. Allerdings habe ich nun immer mehr das Gefühl, damit nicht alles in der Hand zu haben (viel Magie im Hintergrund), was ich so vom Programmieren nicht gewöhnt bin.
zu Fall 2: Funktioniert. Danke.
Verstehe ich das richtig, dass die Vervollständigung nur klappt wenn das fehlende Objekt, das zweite ist (also das am weitesten rechts im Satz)?
Kann man auch "Einschubwörter" als optional kennzeichnen? Bei meinem Grabe-Beispiel wäre das das "um". Das ändert nichts an der Wortreihenfolge und muss auch nicht zwingend eingegeben werden.
Understand "grab [something] mit [dativ] [something preferably held]" as digging it with.
Understand "grab [something] um mit [dativ] [something preferably held]" as digging it with.
Understand "grab [something] mit [dativ] [something preferably held] um" as digging it with.
Understand "grab mit [something preferably held] [dativ] [something]" as digging it with (with nouns reversed).
Understand "grab mit [something preferably held] [dativ] [something] um" as digging it with (with nouns reversed). |
|
|
|
 |
|