 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4703 Wohnort: ~/
|
Verfasst am: 12.08.2007, 14:43 Titel: Geschichtenwürfler |
|
|
Also, dann mal der Stand meines Geschichtenwürfelscriptes
(setzt Grundkenntnisse der deutschen Sprache voraus )
Das Script benötigt eine Textzeile, in der die zu würfelnde Geschichte drinnen steht. Normaler Text wird so übernommen, wie er drin steht, Sonderbefehle werden nach Zufallsprinzip ersetzt.
Dann braucht es natürlich noch eine Datenbank, in der die zufällig eingesetzten Wörter drinstehen, samt ihrer wichtigsten Flexionsformen.
Die verwendeten Sonderbefehle beginnen alle mit einem @ gefolgt vom dreibuchstabigen Befehlswort und enden mit ;
Beispiel: @sub; fügt ein Substantiv ein (i. d. R. das nächste in der Liste).
Ein Substantiv reicht natürlich nicht, es muss auch klar sein. welcher Fall vorliegt. Deswegen wird an das @sub noch der Fall (n, g, d oder a für Nominativ, Genitiv, Dativ oder Akkusativ) und der Numerus (s oder p für Singular oder Plural) angehängt.
Verben (@vrb) benötigen das Tempus (g, i, p oder k für Gegenwart, Imperfekt, Perfekt und Konjunktiv; ja, ich weiß, dass Konjunktiv keine Zeitform ist und dass die Gegenwart Präsens heißt), den Numerus (s, p) und die Person (1, 2, 3).
Also z. B. @vrbis3;: Verb in der 3. Person Singular Imperfekt.
Es geht aber auch @vrbstm; für die Stammform, @vrbinf; für den Infinitiv und @vrbimp; für den Imperativ Singular.
Möchte man auf ein bereits verwendetes (oder noch zu verwendendes) Wort zugreifen, kann man auch direkt seine ID eingeben. @sub15ns; fügt das 15. Substantiv im Nominativ Singular ein, @sub+2dp; das übernächste Substantiv im Dativ Plural, und @sub-1as das zuletzt verwendete Substantiv im Akkusativ Singular. Diese Ansteuerung ist besonders für Artikel, Pronomen usw. wichtig, die sich ja auf bestimmte andere Wörter beziehen.
Folgende Standardbefehle gibt es:
@sub: Substantiv
@vrb: Verb
@hlf: Hilfsverb (i. d. R. können, sein)
@adj: Adjektiv bzw. Adverb
@art: Artikel (der, die, das, dem ...)
@unb: unbestimmter Artikel (ein, eine, einem ...)
@pro: Personalpronomen (er, sie, es, ihm ...)
Substantive, (Hilfs-)Verben und Adjektive sind in der Datenbank gespeichert. (Unbestimmte) Artikel und Personalpronomen werden in Abhängigkeit zu einem bestehenden Substantiv erzeugt.
Oft muss - gerade bei Adjektiven - die Endung noch an das Geschlecht angepasst werden. Das passiert mittels @mfn.
@mfn7{Text 1|Text 2|Text 3} überprüft das Geschlecht des 7. Substantivs. Ist es männlich, dann wird Text 1 ausgegeben; ist es weiblich, dann Text 2; ist es sächlich, dann Text 3.
Und weil das jetzt ziemlich lang wurde, noch ein abschließendes Beispiel:
Code: | @art+1ns; @adj;e @adj;e @subns; @vrbis3; über @art+1as; @adj;@mfn+1{en|e|e} @adj;@mfn+1{en|e|e} @subas; |
könnte z. B. folgende Ausgabe haben:
Code: | der schnelle rote Fuchs sprang über den faulen braunen Hund |
@art+1ns @subns; ist übrigens eine übliche Konstruktion, weil sich der Artikel ja meist auf das folgende Substantiv bezieht.
Wenn euch das noch nicht zu viel war, dann kann ich gerne noch auf die weiteren Verfeinerungen (Groß-/Kleinschreibung, if-Abfrage) eingehen.
So sieht übrigens der 'Quelltext' zu meiner Würfelgeschichte aus:
Code: | <p>In @art+1ds; @subds;, als @art+1ns; @adj;e @subns; @vrbis3;, @vrbis3; sich @art+1ns; @subns; und @vrbis3; @adj;, als @hlfks3; @pro03ns; @pro04as; @iff{hlf=versuch|zu }@vrbinf;, @unb+1a; @adj;@mfn+1{en|e|es} @subns; an @art+1as; @subas;. Als sich @art+1ns; @subns; wieder @vrbis3;, @vrbis3; @unb+1n; @subns; vor @art+1dp; @subdp;. @upp;@art+1ns; @subns; @vrbis3; sich nicht, sondern @vrbis3; @adj; und @adj; da, als @vrbks3; @pro09ns; aus @subns;.</p><p>Dann @vrbis3; @unb+1n; @subns; durch @art+1as; @adj;@mfn12{en|e|e} @subas;, und mit @adj;en @subdp; @vrbis3; an @art+1ds; @subds; @art+1ns; @subns; auf. @subns; @vrbis3; @art+1as; @subas; und @vrbis3; @mfn{sein|ihr|sein}e @subgp;@low;@subnp;. Die @subnp; @art+1gs; @subgs; @vrbip3; nach @art+1ds; @adj; @adj;en @subds; und @hlfip3;@iff{hlf=versuch|,} @pro22as; @iff{hlf=versuch|zu }@vrbinf;.</p><p>Da @vrbis3; @unb+1n; @subns;: @upp;@vrbimp;! Und @art+1ns; @subns; @vrbis3; sich @adj; und @adj;, @vrbis3; @mfn{sein|ihr|sein}@mfn+1{en|e|} @subas; @art+1ds; @subds; zu und @vrbis3; dann mit @adj;en @subdp; @art+2ds; @subgp;@low;@subds; entgegen.</p> |
Wer mag, kann auch den Quellcode des PHP-Scriptes haben. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
SpionAtom
Anmeldungsdatum: 10.01.2005 Beiträge: 395
|
Verfasst am: 12.08.2007, 14:55 Titel: |
|
|
Poste mal eine Würfelgeschichte!
("O-rakel" war eines meines ersten Programme, das einfach einen einfachen Satz zusammengewürfelt hat. Solche Dinger machen Spaß!) _________________ Inzwischen gehöre ich auch zu den BlitzBasicern. Also verzeiht mir, wenn mir mal ein LOCATE 100, 100 oder dergleichen rausrutscht. |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4703 Wohnort: ~/
|
Verfasst am: 12.08.2007, 15:01 Titel: |
|
|
Habe oben einen Link, der dir Geschichten online zusammenwürfelt. Hier habe ich ein überraschend gut lesbares Exemplar:
Geschichtenwürfler hat Folgendes geschrieben: | In dem Strahl, als der regungslose Zug tastete, erhob sich der Aufgang und lag kalt, als versuche er ihn zu schließen, einen leuchtenden Horizont an den Stein. Als sich die Stadt wieder wandte, öffnete ein Gesicht vor den Gestalten. Der Körper schob sich nicht, sondern rührte gewaltig und starr da, als überflute er aus Stadt.
Dann ging ein Strahl durch die gewaltige Erde, und mit liegenden Nächten kam an der Sonne die Mauer auf. Sonne zerbrach die Erde und schlief ihre Stimmenlichter. Die Riesen des Zitterns erwärmten nach der gigantisch behutsamen Gestalt und konnten sie rufen.
Da lief eine Sonne: Gehe! Und der Riese erhellte sich ganz und bedächtig, lag seinen Körper dem Riesen zu und war dann mit langsamen Schritten dem Sonnengesicht entgegen. |
_________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Paul aka ICC, HV-Freak
Anmeldungsdatum: 11.09.2004 Beiträge: 588 Wohnort: Uelzen
|
Verfasst am: 12.08.2007, 15:13 Titel: |
|
|
Das Prinzip gefällt mir. Als nächstes könntest du die Verben und Nomen in Kategorien einteilen und irgendwie miteinander verlinken, dann ergeben die Sätze etwas mehr Sinn.  _________________
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4703 Wohnort: ~/
|
Verfasst am: 12.08.2007, 15:15 Titel: |
|
|
Den ersten Schritt dazu habe ich durch die Einführung der Hilfsverben gemacht. Ich bin allerdings kein Germanist; wenn jemand Vorschläge hat, sind diese herzlich willkommen. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|
|
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.
|
|