IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Inform 7 und das zweite (dritte) Objekt
AntwortenNeues ThemaNeue Umfrage

Inform 7 und das zweite (dritte) Objekt

Geschrieben um 16:26 am 09.02.2011 | Zitat | Editieren | Löschen
Tim Z.
Mitglied
Bachelor Gumby
Beiträge: 47

Hi Leute!

Ich suche jetzt schon seit einer halben Ewigkeit, aber ich verstehe immer noch nicht, wie man das zweite Objekt eines Befehls ansprechen kann.

So etwas:


    say "You deftly fold [the noun] into the shape of a swan."

ist ja ganz nett. Aber was ist, wenn ich einen Satz basteln will wie etwa in TAG:

Wie spricht man dieses zweite Objekt denn in I7 an?

Gruß,

T. R. Z.

Geschrieben um 17:07 am 09.02.2011 | Zitat | Editieren | Löschen
jorl
Mitglied
Master Gumby
Beiträge: 99
<td valign="top"><div class="post"><p>Einfach mit &quot;the second noun&quot;. Mehr als zwei gibt es aber nicht, so weit ich weiß. Wenn Du German eingebunden hast, sollte folgendes gehen:```</p> <p>Shooting it with is an action applying to two things requiring light.</p> <p>Understand &quot;erschiess &#91;something&#93; mit &#91;dativ&#93; &#91;something preferably held&#93;&quot; as shooting it with.</p> <p>Carry out shooting it with&#58;</p> <p>      say &quot;Du erschießt &#91;den Noun&#93; mit &#91;dem second Noun&#93;.&quot;```</p> <p>Das kann natürlich alles noch entsprechend mit Check-Rules passend eingeschränkt werden.</p></div></td>
Geschrieben um 23:51 am 09.02.2011 | Zitat | Editieren | Löschen
ChristianB
Mitglied
Retired Gumby
Beiträge: 1062

jorl:

Mehr als zwei gibt es aber nicht, so weit ich weiß.

Das stimmt leider. Manchmal könnte es aber ganz nützlich sein, drei (oder sogar mehr) Objekte in einem Satzmuster anzusprechen. Ich habe im Inform-6-Handbuch DM4 gestöbert und eine verhältnismäßig einfache Lösung gefunden, die sich gut nach I7 übertragen lässt.

Hier mal ein Beispiel, in dem man einem Hund das Fell mit einem Kamm frisieren kann. Das dritte Substantiv heißt (o Wunder) "third noun" und das dazugehörige Understand-Token "third something" (um Verwechslungen zu vermeiden). Das Token [something preferably held] habe ich für das [third something] in einer Check-Rule nachgebaut. Die ganze Nummer könnte man auch mit noch mehr Substantiven veranstalten (>MACH DEM PUDEL DAS FELL UND DIE KRALLEN MIT DEM KAMM UND DER SCHERE UND DER ZANGE HÜBSCH), aber lasse mer den Dom vorerst mal in Kölle ...



Include German by Team GerX.

A thing is usually privately-named. A room is usually privately-named.

Section - Das dritte Substantiv &#40;third noun&#41;

The third noun is an object that varies. The third noun variable translates into I6 as "third".

The understand token third something translates into I6 as "THIRD_NOUN_TOKEN".

&#91;vgl. DM4, S. 489&#93;

Include &#40;-

Global third;

-&#41; after "Definitions.i6t".

Include &#40;-

&#91; THIRD_NOUN_TOKEN  x;

    x  =  ParseToken&#40;ELEMENTARY_TT,  NOUN_TOKEN&#41;;

    if  &#40;x  ==  GPR_FAIL  or  GPR_REPARSE&#41;  return  x;

    third  =  x;  return  GPR_PREPOSITION;

&#93;;

-&#41;.

Section - Das Pudelparadies

The Dog Parlour is a male room. The printed name is "Hundesalon&#91;-s&#93;". Understand "Salon/Hundesalon" as the Dog Parlour.

The poodle is a male animal, here. The printed name is "Pudel&#91;-s&#93;". Understand "Pudel", "Hund" and "Tier &#91;n&#93;" as the poodle.

The fur is part of the poodle. The printed name is "Fell&#91;-s&#93;". Understand "Fell" and "Pelz &#91;m&#93;" as the fur.

The comb is a male thing, here. The printed name is "Kamm&#91;-s&#93;". Understand "Kamm" as the comb.

Section - Ein Kommando mit drei Objekten

Grooming is an action applying to two things. &#91; ... applying to three things geht nicht.&#93;

&#91; "preferably held" fürs dritte Substantiv nachbauen&#58;&#93;

Check grooming&#58; if the third noun is not held by the actor begin; say "&#40;Dazu hebst du &#91;den third noun&#93; erst auf.&#41;&#91;command clarification break&#93;"; silently try taking the third noun; end if; if the third noun is held by the actor, continue the action; say "Du hast nichts, womit du &#91;dem noun&#93; &#91;den second noun&#93; frisieren kannst."; stop the action.

Report grooming&#58; say "Du frisierst &#91;dem noun&#93; &#91;den second noun&#93; mit &#91;dem third noun&#93;. Sieht super aus."

Understand "frisier &#91;dativ&#93; &#91;something&#93; &#91;something&#93; mit &#91;dativ&#93; &#91;third something&#93;" as grooming.

Test me with "frisier dem hund den pelz mit dem kamm / frisier dem pudel das fell / frisier".```

Der letzte Befehl im Test-me-Script zeigt, dass es noch semantischen Klärungsbedarf gibt (entweder im Satzmuster oder per Check-Rule), aber grundsätzlich klappt's.
Geschrieben um 12:55 am 11.02.2011 | Zitat | Editieren | Löschen
Tim Z.
Mitglied
Bachelor Gumby
Beiträge: 47

Super, danke!

Dass das mit dem dritten Objekt nicht direkt in I7 eingebaut ist, ist schon etwas erstaunlich. Aber im Moment komme ich mit zwei ganz gut zurecht; Sätze mit mehr Objekten dürften doch eher selten nötig sein.

Gruß,

T. R. Z.

Geschrieben um 16:38 am 11.02.2011 | Zitat | Editieren | Löschen
ChristianB
Mitglied
Retired Gumby
Beiträge: 1062

Tim Z.:

Sätze mit mehr Objekten dürften doch eher selten nötig sein.

Und falls doch, habe ich zumindest für das dritte Satzobjekt die Lösung in eine Mini-Extension "Third Noun" gepackt, damit der Nächste nicht so lange suchen muss:

http://ifiction.pageturner.de/inform7/Third%20Noun.i7x

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz