Forum moved to if-forum.org
Autor Nachricht
<  Inform 7 und das zweite (dritte) Objekt
Tim Z.
BeitragVerfasst am: Mi, 9 Feb 2011 - 15:26  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 26.07.2007
Beiträge: 16
Wohnort: Bayern

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:
Code:
Report folding:
    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:

Code:
text "Du erschießt [den aobj] mit [dem aobj2]."


Wie spricht man dieses zweite Objekt denn in I7 an?

Gruß,
T. R. Z.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jorl
BeitragVerfasst am: Mi, 9 Feb 2011 - 16:07  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 02.11.2010
Beiträge: 90
Wohnort: Schkeuditz

Einfach mit "the second noun". Mehr als zwei gibt es aber nicht, so weit ich weiß. Wenn Du German eingebunden hast, sollte folgendes gehen:
Code:

Shooting it with is an action applying to two things requiring light.
Understand "erschiess [something] mit [dativ] [something preferably held]" as shooting it with.
Carry out shooting it with:
      say "Du erschießt [den Noun] mit [dem second Noun]."

Das kann natürlich alles noch entsprechend mit Check-Rules passend eingeschränkt werden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Mi, 9 Feb 2011 - 22:51  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

jorl hat folgendes geschrieben:
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 ...

Code:
"Pudelwohl"

Include German by Team GerX.

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


Section - Das dritte Substantiv (third noun)

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".

[vgl. DM4, S. 489]

Include (-
Global third;
-) after "Definitions.i6t".

Include (-
[ THIRD_NOUN_TOKEN  x;
    x  =  ParseToken(ELEMENTARY_TT,  NOUN_TOKEN);
    if  (x  ==  GPR_FAIL  or  GPR_REPARSE)  return  x;
    third  =  x;  return  GPR_PREPOSITION;
];
-).


Section - Das Pudelparadies

The Dog Parlour is a male room. The printed name is "Hundesalon[-s]". Understand "Salon/Hundesalon" as the Dog Parlour.

The poodle is a male animal, here. The printed name is "Pudel[-s]". Understand "Pudel", "Hund" and "Tier [n]" as the poodle.

The fur is part of the poodle. The printed name is "Fell[-s]". Understand "Fell" and "Pelz [m]" as the fur.

The comb is a male thing, here. The printed name is "Kamm[-s]". Understand "Kamm" as the comb.


Section - Ein Kommando mit drei Objekten

Grooming is an action applying to two things. [ ... applying to three things geht nicht.]

[ "preferably held" fürs dritte Substantiv nachbauen:]

Check grooming: if the third noun is not held by the actor begin; say "(Dazu hebst du [den third noun] erst auf.)[command clarification break]"; 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 [dem noun] [den second noun] frisieren kannst."; stop the action.

Report grooming: say "Du frisierst [dem noun] [den second noun] mit [dem third noun]. Sieht super aus."

Understand "frisier [dativ] [something] [something] mit [dativ] [third something]" 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.


Zuletzt bearbeitet von ChristianB am Fr, 11 Feb 2011 - 15:25, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Tim Z.
BeitragVerfasst am: Fr, 11 Feb 2011 - 11:55  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 26.07.2007
Beiträge: 16
Wohnort: Bayern

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.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Fr, 11 Feb 2011 - 15:38  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Tim Z. hat folgendes geschrieben:
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
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