Forum moved to if-forum.org
Autor Nachricht
<  TADS auch in deutsch?
Zoltan
BeitragVerfasst am: Mi, 11 Dez 2002 - 10:06  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 14.09.2002
Beiträge: 158
Wohnort: OÖ

Chris hat folgendes geschrieben:
Am Parser kann man leider nicht so viel schrauben; die deutschen Fälle abzudecken (z.B. "nimm den sattel DES pferdES") ist ziemlich schwierig. Die Engländer haben es da schon besser. ;) Da muss man sich wohl auf das Wesentliche beschränken.

Geht das nicht doch? "nimm den sattel des pferdes": "den" und "des" bei den Artikeln mitdefinieren, und bei dem objekt "pferd" auch die Formen der anderen Fälle bei den Synonymen angeben. Ich habe mich damals bei meinem ersten Versuch auch auf das Wesentliche beschränkt, jetzt von der Sicht des Spielers her finde ich das aber auch nicht mehr so toll, und baue es jetzt aus.
Zoltan
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Walafrid
BeitragVerfasst am: Mi, 11 Dez 2002 - 10:27  Antworten mit Zitat
Abenteurer
Abenteurer


Anmeldungsdatum: 26.08.2002
Beiträge: 238

http://www.textadventures.de/

Zuletzt bearbeitet von Walafrid am Mo, 24 Feb 2003 - 17:28, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Ally
BeitragVerfasst am: Mi, 11 Dez 2002 - 11:06  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 25.08.2002
Beiträge: 142

Zoltan hat folgendes geschrieben:
Chris hat folgendes geschrieben:
Am Parser kann man leider nicht so viel schrauben; die deutschen Fälle abzudecken (z.B. "nimm den sattel DES pferdES") ist ziemlich schwierig. Die Engländer haben es da schon besser. ;) Da muss man sich wohl auf das Wesentliche beschränken.

Geht das nicht doch? "nimm den sattel des pferdes": "den" und "des" bei den Artikeln mitdefinieren, und bei dem objekt "pferd" auch die Formen der anderen Fälle bei den Synonymen angeben.


Ich sehe da auch kein wirkliches Problem. Man kann ja hübsch kompliziert wirkende Noun Phrases erzeugen, wenn man Objekten ausschließlich Adjektive zuweist*, "take the apple which is in the bowl" zum Beispiel -- vielleicht automatisiert durch eine Erweiterung von object.moveInto(), die das Vokabular eines Objekts bei location-Wechsel auf den neuesten Stand bringt.

Was den Sattel des Pferdes betrifft, würde ich es ähnlich angehen. Will sagen, der Parser muß gar nicht erst "des Pferdes" grammatikalisch aufdröseln, sondern liest "Sattel des Pferdes" (oder "Maske des Zorro") einfach als Kette von (TADS-, nicht grammatisch "richtigen") Adjektiven.

Oh Gott, ich muß aufhören, zu faseln

*warum, weiß ich inzwischen nicht mehr, aber mein Ditch Day Drifter ist voll mit solchen Experimenten..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mo
BeitragVerfasst am: Mi, 11 Dez 2002 - 15:58  Antworten mit Zitat
Administrator
Administrator


Anmeldungsdatum: 25.08.2002
Beiträge: 303
Wohnort: Berlin

Noch ein wenig Haarspalterei von meiner Seite.

Eine möglichst korrekte deutsche Grammatik sollte allein schon deswegen verstanden werden, weil sie oft zur Unterscheidung mehrerer Bedeutungen notwendig ist.

Ein - zugegeben recht konstruiertes - Beispiel:

Code:
> schau
Dein Pferd steht hier. Es ist mit dem wunderschönen Sattel deines besten Freundes gesattelt. Auf einem Tisch liegt der Sattel, dem du deinem Pferd zu seinem letzten Sieg beim Derby geschenkt hast.

> nimm sattel des pferdes
Du nimmst den Sattel vom Tisch.

> nimm sattel vom pferd
Du löst die Halterung und nimmst den Sattel deines Freundes.

_________________
d-frag.de - Ein oder zwei Dinge, die wir über Spiele wissen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Zoltan
BeitragVerfasst am: Mi, 11 Dez 2002 - 18:15  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 14.09.2002
Beiträge: 158
Wohnort: OÖ

Mo hat folgendes geschrieben:

Ein - zugegeben recht konstruiertes - Beispiel:...

Hmm, könnte man das im Ernstfall nicht so machen, dass die beiden Sattel noch etwas anderes als der Besitzer unterscheidet, zB alt-neu, andere Farbe (haben Sattel verschiedene Farben? Ich bin kein Experte auf diesem Gebiet...), etc?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mo
BeitragVerfasst am: Mi, 11 Dez 2002 - 20:16  Antworten mit Zitat
Administrator
Administrator


Anmeldungsdatum: 25.08.2002
Beiträge: 303
Wohnort: Berlin

Zoltan hat folgendes geschrieben:
Hmm, könnte man das im Ernstfall nicht so machen, dass die beiden Sattel noch etwas anderes als der Besitzer unterscheidet

Natürlich ginge das. Ich wollte aber demonstrieren, dass man eben nicht einfach so einen Kasus durch einen anderen ersetzen kann.
Nun kenne ich TADS 3 kein bisschen - aber eine aktuelle deutsche Übersetzung davon, die den Genitiv nicht berücksichtigt, empfände ich als sehr großen Rückschritt.
_________________
d-frag.de - Ein oder zwei Dinge, die wir über Spiele wissen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Zoltan
BeitragVerfasst am: Mi, 11 Dez 2002 - 22:59  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 14.09.2002
Beiträge: 158
Wohnort: OÖ

Mo hat folgendes geschrieben:
Noch ein wenig Haarspalterei von meiner Seite.

Eine möglichst korrekte deutsche Grammatik sollte allein schon deswegen verstanden werden, weil sie oft zur Unterscheidung mehrerer Bedeutungen notwendig ist.

Ein - zugegeben recht konstruiertes - Beispiel:

Code:
> schau
Dein Pferd steht hier. Es ist mit dem wunderschönen Sattel deines besten Freundes gesattelt. Auf einem Tisch liegt der Sattel, dem du deinem Pferd zu seinem letzten Sieg beim Derby geschenkt hast.

> nimm sattel des pferdes
Du nimmst den Sattel vom Tisch.

> nimm sattel vom pferd
Du löst die Halterung und nimmst den Sattel deines Freundes.

Ok, das müsste so doch ganz normal gehen:
Man definiert noch zusätzlich zum Verb "nimm", das ein Objekt entgegennimmt, das verb "nimm vom" (so wie "take of"), welches ein direktes und ein indirektes Objekt entgegennimmt. Der Sattel des Freundes kann nur als (in?)direktes Objekt vom Pferdobjekt genommen werden, der des Pferdes als direktes - vielleicht hier als Adjektiv "pferdes" definieren? Ohne das jetzt direkt zu coden, tu ich mir ein bisschen schwer, aber es müsste auf jeden Fall gehen - es geht ja im Englischen auch.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Ally
BeitragVerfasst am: Do, 12 Dez 2002 - 1:39  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 25.08.2002
Beiträge: 142

Genau. Bei "nimm den Sattel des Pferdes" gibt es im Grunde doch eh kein indirektes Objekt im TADS-Sinne, sondern nur ein dobj, nämlich den Sattel des Pferdes. Und "nimm den Sattel vom Pferd" ist schlichtweg eine Übersetzung des in adv.t implementierten "take <x> from <y>". Man müßte nur darauf achten, daß "Sattel vom Pferd" nicht als (wenig elegante) Bezeichnung des dem Pferd "gehörenden" Sattels mißverstanden werden kann, oder im Zweifelsfalle zugunsten der einen oder anderen Interpretation entscheiden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Zoltan
BeitragVerfasst am: So, 15 Dez 2002 - 11:52  Antworten mit Zitat
Kompassleser
Kompassleser


Anmeldungsdatum: 14.09.2002
Beiträge: 158
Wohnort: OÖ

Ich hab mich mal an Mos Beispiel versucht. An sich ist die Übersetzung natürlich
nicht komplett, ich habe für das Bsp hier nur das Nötigste übersetzt.
Bei dem Sattel des Pferdes (auf dem Tisch) rührt die Verteilung der Tads Nouns
und Adjectives daher, dass bei "des pferdes sattel" 'Sattel' das Noun und 'des
Pferdes' Adjektive sind, bei "sattel des pferdes" 'pferdes' das Noun und 'sattel des'
Adjektive. Obwohl "des pferdes sattel" wahrscheinlich eh schon nicht mehr
gebräuchlich ist...
Code:

#include <adv.t>
#include <std.t>
//ÄNDERUNGEN IN DEN STD-BIBLIOTHEKEN
modify takeVerb
   verb = 'nimm'
;
modify lookVerb
   verb = 'schau'
;
modify iVerb
    verb = 'inventar'
    action(actor) =
    {
        if (itemcnt(actor.contents))
        {
                "Du hast "; listcont(actor); ". ";
                listcontcont(actor);
        }
        else
            "Du hast nichts bei dir.";
    }
;
modify offPrep
    preposition = 'vom'
;
modify articles
  article = 'der' 'die' 'das' 'des' 'dem' 'den'
;
modify thing
     verIoTakeOff(a)={"Wie willst du da etwas herunter nehmen?";}
     verDoTakeOff(a,io)={if (self.location = a)
        {
            "Du hast doch schon "; self.adesc; "! ";
        }
     }
     verDoTake(a)={if (self.location = a)
        {
            "Du hast doch schon "; self.adesc; "! ";
        }
     }
;
parseDisambig: function(str, lst)
{
   "Leider ist \"<<str>>\" hier zweideutig, wiederhol den Befehl bitte genauer, z.B. mit
    der zusätzlichen Angabe eines Adjektives oder einem genaueren Substantiv!";
}
//RÄUME
startroom: room
   sdesc = "Im Stall"
     ldesc = "Dein Pferd steht hier. Es ist mit dem wunderschönen
          Sattel deines besten Freundes gesattelt. Auf einem
          Tisch liegt der Sattel, dem du deinem Pferd zu seinem
          letzten Sieg beim Derby geschenkt hast."
;
//OBJEKTE
pferd: fixeditem
   sdesc = "Pferd"
   ldesc = {"Dein Pferd."; if (sattel_pferd.auf_pferd) " Es ist mit dem
         wunderschönen Sattel deines besten Freundes gesattelt.";}
   noun = 'pferd'
   location = startroom
   verIoTakeOff(a)={}
   ioTakeOff(a,dobj)={dobj.doTakeOff(a,self);}       
;
tisch: fixeditem
   sdesc = "Tisch"
   ldesc = {"Ein Tisch."; if (sattel_tisch.auf_tisch) " Auf ihm liegt der Sattel,
         dem du deinem Pferd zu seinem letzten Sieg beim Derby
          geschenkt hast.";}
   noun = 'tisch'
   location = startroom
   verIoTakeOff(a)={}
   ioTakeOff(a,dobj)={dobj.doTakeOff(a,self);}
;
sattel_pferd: item
   sdesc = "wunderschönen Sattel"
   adesc = "den wunderschönen Sattel deines besten Freundes"
   ldesc = "Der wunderschöne Sattel deines besten Freundes."
   noun = 'sattel'
   adjective = 'wunderschönen'
   location = startroom
   isListed = nil
   doTakeOff(a,io)={if (io=pferd) self.doTake(a);
                  else "Der wunderschöne Sattel deines besten Freundes
                       befindet sich auf dem Pferd!";}
   doTake(a)={"Du nimmst den wunderschönen Sattel deines besten Freundes
                   vom Pferd."; self.moveInto(Me); self.isListed:=true;
             self.auf_pferd:=nil;}
   auf_pferd = true
;
sattel_tisch: item
   sdesc = "Sattel des  Pferdes"
   adesc = "den Sattel des Pferdes"
   ldesc = "Der Sattel, dem du deinem Pferd zu seinem
          letzten Sieg beim Derby geschenkt hast."
   noun = 'sattel' 'pferdes' 'pferds'
   adjective = 'pferdes' 'pferds' 'sattel' 'des'
   location = startroom
   isListed = nil
   doTakeOff(a,io)={if (io=tisch) self.doTake(a);
                  else "Der Sattel deines Pferdes liegt auf dem Tisch!";}
   doTake(a)={"Du nimmst den Sattel deines Pferdes, den du ihm zu seinem letztem
               Sieg beim Derby geschenkt hast, vom Tisch"; self.moveInto(Me);
              self.isListed:=true; self.auf_tisch:=nil;}
   auf_tisch = true
;
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 2 von 2
Gehe zu Seite Zurück  1, 2
if-de :: Forum Foren-Übersicht  >  Dies & Das

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