if-de :: Forum Foren-Übersicht
Autor Nachricht
<  Bill die Handpuppe
Xeres
BeitragVerfasst am: Mo, 30 Jan 2006 - 21:11  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 06.10.2005
Beiträge: 14
Wohnort: Berlin

Hallo, endlich komme ich mal dazu ein Textadventure anzufangen.
Dabei bin ich nun allerdings auf ein kleines Problem gestoßen dessen Lösung ich bis jetzt nicht ermitteln konnte. Nun, es geht um das Folgende:

Ich habe ein Objekt das soll heißen ’Bill die Handpuppe’
wenn ich aber Bill küsse:
Code:
> küsse Bill
Du gibst Bill die Handpuppe einen feuchten Kuss

Eigentliche sollte das ‘die’ durch ein ‘der’ ersetzt werden.
Gibt es eine Möglichkeit das automatisch zu korrigieren? Wenn nicht muss das alles in einer VorAusf abfangen, für alle vordefinierten Verben bei denen es Grammatikalisch falsch wird...
Hat irgendwer schon mal das Problem gelöst? Etwa als er mit dem ‘Stein der Weisen’ oder mit ‘Chrusty der Clown’ gearbeitet hat?
Maik gab mir schon den Tipp Martin persöhnlich zu fragen... *vorsichtig 'rüberschiel*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Di, 31 Jan 2006 - 9:36  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Xeres hat folgendes geschrieben:
Gibt es eine Möglichkeit das automatisch zu korrigieren? Wenn nicht muss das alles in einer VorAusf abfangen, für alle vordefinierten Verben bei denen es Grammatikalisch falsch wird...

Die Handpuppe würde man wohl mit einem Ausführungsblock beim Namen definieren, etwa so:

Code:

Obj Bill
    Name Ausf
        ! Genus von Hand setzen
        ObjGenus selbst f %Eigenname
       
        ! passendes
        Text 'Bill,'
        jenach (#Fall)
        (0) Text 'die'          ! Nominativ
        (1) Text 'die'          ! Akk. (in TAG 2. Fall)
        (2) Text 'der'          ! Dat. (in TAG 3. Fall)
        Ende
       
        ! Substantiv ausgeben
        Text 'Handpuppe/'       ! '/' unterdrückt Leerzeichen
    EndeAusf

Der einzige (aber entscheidende) Knackpunkt ist hier, dass es die Variable #Fall nicht gibt und so dem Spieler keine Information darüber, ob der Name in [der], [den], [dem], [einem] usw. ausgegeben werden soll, zur Verfügung steht. Was du möchtest, geht also leider nicht.

Workaround: Die Puppe "Bill", "Handpuppe" oder "Handpuppe Bill" nennen, und die Formulierung "Bill, die Handpuppe" in den nicht automatisch erzeugten Texten, etwa der Erst-Beschreibung, verwenden.

Xeres hat folgendes geschrieben:
Etwa als er mit dem 'Stein der Weisen' oder mit 'Chrusty der Clown' gearbeitet hat?

Bei Chrusty dem Clown (schreibt man den so?) ist es genau so wie bei der Handpuppe Bill. Beim Stein der Weisen allerdings nicht: "der Weisen" ist lediglich ein angehängtes Genitiv-Attribut, das sich nicht ändert: der Stein der Weisen, des Steins der Weisen, dem Stein der Weisen, den Stein der Weisen, ein Stein der Weisen.

Dieser Fall ist analog zu den Beispielen im Handbuch - sonst wäre es mir gewiss schon aufgefallen. :-)
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Xeres
BeitragVerfasst am: Di, 31 Jan 2006 - 15:10  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 06.10.2005
Beiträge: 14
Wohnort: Berlin

Vielen Dank für die schnelle Antwort. Vorerst werde ich Bill mit einer VorAusf versehen, das ist zwar arbeitsintensiv, aber eigentlich sinnvoller. Welche böse, cholerische Handpuppe lässt sich schon küssen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Mi, 1 Feb 2006 - 0:41  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Hallo Xeres,

wenn du lediglich ein Femininum-Objekt im Singular benutzt, könntest du die nicht implementierte #Fall-Variable mit ein klein wenig Aufwand umgehen, weil dann nur der Dativ für die Ausgabe des Objektnamens relevant wäre.

Hier ein Vorschlag:

Code:

#DAT 'normal.adv' ! zum Rumprobieren habe ich Martins Standard-Datei benutzt

#STD 'tag.std'

Flagge Dativ

Raum    Spielwiese
Name    'Spielwiese'
Besch   'Dies ist eine fiese Wiese zum Ausprobieren von T.A.G.-Besonderheiten.'

Aktion Vorher ! Nur zur Sicherheit
Ausf
    Sei Dativ 0
EndeAusf

Obj     Chucky
Ort     Spielwiese
Name    Ausf
            ObjGenus selbst f %Eigenname
            Text 'Chucky,'
            Wenn (Dativ) dann
                Text 'der'
                Lösche Dativ
            sonst
                Text 'die'
            Ende
            Text 'Mörderpuppe/'
        EndeAusf
       
Subst   'chucky' m 'mörderpuppe' f 'puppe' f
VorAusf
    (küssen ziehen schieben drehen schneiden spielen_mit eingeben)
    ! Liste der relevanten Verben hier fortführen, die jeweilige Lib durchsuchen
    ! nach "[dem"
        Setze Dativ
EndeAusf

ENDE


Transscript:
Code:

Dies ist eine fiese Wiese zum Ausprobieren von T.A.G.-Besonderheiten.

Du siehst hier Chucky, die Mörderpuppe.

> küsse chucky
Du gibst Chucky, der Mörderpuppe einen feuchten Kuss.

> nimm chucky
Du hast nun Chucky, die Mörderpuppe.

> küsse chucky
Du gibst Chucky, der Mörderpuppe einen feuchten Kuss.

> leg sie hin
Du hast Chucky, die Mörderpuppe hingelegt.


Grüße, CB
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Xeres
BeitragVerfasst am: Mi, 1 Feb 2006 - 14:15  Antworten mit Zitat
Neuling
Neuling


Anmeldungsdatum: 06.10.2005
Beiträge: 14
Wohnort: Berlin

Wow, das ist echt eine super Lösung! Damit kann ich sowohl die Standartantworten nutzen, aber auch bestimmte Wörter speziell abfangen.
Code:
> küsse Bill
Du spitzt die Lippen, aber als Bill dich anschaut, als würde er dich bei dem Versuch zerstückeln, lässt du es lieber.

Wirklich gut, danke dafür!
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  >  T.A.G.

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