IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Beliebiges Objekt/Wort
AntwortenNeues ThemaNeue Umfrage

Beliebiges Objekt/Wort

Geschrieben um 23:12 am 05.01.2004 | Zitat | Editieren | Löschen
Maik
Mitglied
Dr Gumby
Beiträge: 199

Wie realisiere ich folgendes:

schreibe “Hallo” auf Papier?

Funktioniert es auch ohne “”?

Oder muss für jedes Wort ein extra Substantiv definiert werden?

Geschrieben um 14:17 am 07.01.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 699

Wie man beliebige Namen (oder Wörter) parst, wurde bereits hier diskutiert:

http://www.ifzentrale.de/forum/viewtopic.php?t=226

In deinem Fall musst du allerdings den objektparser benutzen und ihn auf ein Hilfsobjekt zeigen lassen.

Geschrieben um 22:31 am 07.01.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 699
<td valign="top"><div class="post"><p>Okay, Leute, anbei ein Beispiel, wie man das Schreiben von Wörtern auf Objekte in T.A.G. realisieren kann. Ja, man kann mit diesem Code immer nur ein Wort schreiben. Und ein Wort kann nur zwölf Buchstaben lang sein. Und es gibt nur Kleinbuchstaben und kleine Umlaute. Und man kann keine Satzzeichen angeben.</p> <p>T.A.G. ist leider nicht so flexibel, es wurde geschrieben, um Leuten, die nicht gerne programmieren, den Einstieg ins Schreiben von Textadventures zu ermöglichen. Insofern denke ich, dass Maik mit T.A.G. ganz gut bedient ist, auch wenn ich glaube, dass er hier mit seinem Schreiben auf den Zettel etwas sehr Kompliziertes in sein Adventure einbaut, das dem Spiel vielleicht gar nicht zuträglich ist oder gar auf Rate-das-Verb (Was muss man auf den Zettel schreiben?) hinausläuft. Ist nur so&#8217;n Gefühl.</p> <p>Also, voilà:</p> <p>&#8220;`</p> <p>Feld    tWort &#40;13&#41;</p> <p>        ! Das Wort, wie es an der Tafel steht</p> <p>        ! 1 Länge-Bit, zwölf Buchstaben-Bits</p> <p>Feld    pWort &#40;13&#41;</p> <p>        ! Das Wort, das im Befehl angegeben wurde</p> <p>Aktion  Tafelwort</p> <p>Ausf</p> <p>    lokal j l m</p> <p>    wenn &#40;tWort.0 = 0&#41; dann</p> <p>        Text &#8216;nichts/&#8217;</p> <p>    sonst</p> <p>        sei l tWort.0</p> <p>        lösche j</p> <p>        solange &#40;j&lt;l&#41;</p> <p>            inkr j</p> <p>            wenn &#40;j = 2&#41; dann</p> <p>                ! Erster Buchstabe</p> <p>                sei m tWort.j</p> <p>                jenach m</p> <p>                &#40;&#8221;a&#8221;..&#8221;z&#8221;&#41; dekr m 32</p> <p>                &#40;&#8221;ä&#8221;&#41;      sei m &#8220;Ä&#8221;</p> <p>                &#40;&#8221;ö&#8221;&#41;      sei m &#8220;Ö&#8221;</p> <p>                &#40;&#8221;ü&#8221;&#41;      sei m &#8220;Ü&#8221;</p> <p>                Ende</p> <p>                text &#8216;&#91;char m&#93;/&#8217;</p> <p>            sonst</p> <p>                ! weitere Buchstaben</p> <p>                text &#8216;&#91;char tWort.j&#93;/&#8217;</p> <p>            Ende</p> <p>        ende</p> <p>    Ende</p> <p>EndeAusf</p> <p>ObjAttr beschreibbar</p> <p>Obj     Tafel</p> <p>Name    &#8216;Wandtafel&#8217; f</p> <p>Adj     &#8216;groß&#8217;</p> <p>Subst   &#8216;tafel&#8217; f</p> <p>Ort     Klassenzimmer</p> <p>Besch   Ausf</p> <p>    wenn &#40;tWort.0&#41; dann</p> <p>        Text &#8216;An der Tafel steht in Maiks krakeliger</p> <p>            Handschrift &#91;Tafelwort&#93;.&#8217;</p> <p>    sonst</p> <p>        Text &#8216;An der Tafel steht nichts.&#8217;</p> <p>    Ende</p> <p>EndeAusf</p> <p>VorAusf</p> <p>    &#40;lesen&#41;</p> <p>    Stop &#8216;An der Tafel steht &#91;Tafelwort&#93;.&#8217;</p> <p>EndeAusf</p> <p>Attr    fest beschreibbar</p> <p>Obj     Kreide</p> <p>Name    &#8216;weiß^ Kreide&#8217; f</p> <p>Adj     &#8216;weiß&#8217;</p> <p>Vor     &#8216;tafel&#8217;</p> <p>Subst   &#8216;kreide&#8217; f</p> <p>Ort     auf Pult</p> <p>Besch   &#8216;Weiße Kreide. Aus dem Jura.&#8217;</p> <p>Obj     Schwamm</p> <p>Name    &#8216;Schwamm&#8217; m</p> <p>Subst   &#8216;schwamm&#8217; m</p> <p>Ort     auf pult</p> <p>Besch   &#8216;Ein weicher Schwamm, triefnass.&#8217;</p> <p>Deko    geschriebenes_Wort</p> <p>Name    &#8216;geschrieben^ Wort&#8217; m</p> <p>Subst   &#8217;..&#8217; n</p> <p>Ort     beiMir</p> <p>VorAusf</p> <p>    lokal  i  j  k</p> <p>    &#40;schreiben&#41;</p> <p>        Bed &#40;pWort.0 > 2&#41;</p> <p>            &#8216;Du willst nichts schreiben? Eigenartig.&#8217;</p> <p>        Bed &#40;tWort.0 = 0&#41;</p> <p>            &#8216;An der Tafel kann immer nur ein Wort stehen.</p> <p>            Hat die Lehrerin gesagt. Und dass das</p> <p>            Leerzeichen erst in der zweiten Klasse</p> <p>            dran kommt.&#8217;</p> <p>        Wenn &#40;aObj2 = Tafel&#41;  dann</p> <p>            Bed &#40;Kreide beiMir&#41;</p> <p>                &#8216;Du benötigst Kreide, um etwas auf</p> <p>                &#91;den aObj2&#93; schreiben zu können.&#8217;</p> <p>            loesche i</p> <p>            wiederhole</p> <p>                sei tWort.k pWort.i</p> <p>                inkr i</p> <p>                inkr k</p> <p>            bis &#40;i > pWort.0&#41;</p> <p>            stop &#8216;OK.&#8217;</p> <p>        sonst</p> <p>            text  &#8216;Narrenhände&#8230;&#8217;</p> <p>        Ende</p> <p>    &#40;sonst&#41; stop &#8216;Bisschen  philosophisch  heute,</p> <p>        gell?&#8217;</p> <p>EndeAusf</p> <p>Bef     schreiben</p> <p>Name    &#8216;schreiben&#8217;</p> <p>Verb    &#8216;schreibe&#8217; &#8216;kritzle&#8217; &#8216;mockele&#8217;</p> <p>Syntax  dasObj &#40;Allg&#41; auf dasObj &#40;beschreibbar&#41;</p> <p>Präp    &#8216;an&#8217;</p> <p>Ausf</p> <p>    Text &#8216;Bitte gebe das Wort, das du schreiben willst,</p> <p>        zwischen Hochkommas an.&#8217;</p> <p>EndeAusf</p> <p>Bef     wischen</p> <p>Name    &#8216;wische&#8217;</p> <p>Verb    &#8216;wische&#8217; &#8216;lösche&#8217;</p> <p>Syntax  dasObj</p> <p>Ausf</p> <p>    Bed &#40;Schwamm beimir&#41;</p> <p>        &#8216;Du hast nichts zum Wischen.&#8217;</p> <p>    Bed &#40;aObj = Tafel&#41;</p> <p>        &#8216;Du würdest &#91;den aObj&#93; nur nass machen.&#8217;</p> <p>    Bed /&#40;tWort.0 = 0&#41;</p> <p>        &#8216;Die Tafel ist bereits gewischt. &#40;Schließlich</p> <p>        bist du es, der Klassendienst hat.&#41;&#8217;</p> <p>    lösche tWort.0</p> <p>    Text &#8216;Du wischst das Gekritzel von der Tafel.&#8217;</p> <p>EndeAusf</p> <p>Aktion  ObjParser</p> <p>Ausf</p> <p>    lokal i</p> <p>    ! Das geschriebene Wort</p> <p>    Wenn &#40;wort.1 = 39&#41; und &#40;wort.wortLänge = 39&#41; dann</p> <p>        sei pWort.0 wortLänge</p> <p>        schleife i 1 wortLänge</p> <p>            sei pWort.i wort.i</p> <p>        Ende</p> <p>        sei aObj geschriebenes_Wort</p> <p>        Stop</p> <p>    Ende</p> <p>EndeAusf</p> <p>/*</p> <p>===========================================================</p> <p>    Ein bisschen was zum Spielen</p> <p>*/</p> <p>Raum    Klassenzimmer</p> <p>Name    &#8216;Klassenzimmer&#8217;</p> <p>Besch   Ausf</p> <p>    Text &#8216;Das wird die Stätte deines Wirkens für das</p> <p>    nächste Jahr, vielleicht etwas länger, sein.</p> <p>    Trostlose Bankreihen und ein Pult. Und eine Tafel</p> <p>    natürlich.&#8217;</p> <p>    Wenn &#40;tWort.0&#41;</p> <p>        Text &#8216;&#91;#&#93;An der Tafel steht &#91;Tafelwort&#93;.&#8217;</p> <p>EndeAusf</p> <p>Obj     Pult</p> <p>Name    &#8216;Lehrerpult&#8217; n</p> <p>Vor     &#8216;lehrer&#8217;</p> <p>Subst   &#8216;pult&#8217; n</p> <p>Ort     Klassenzimmer</p> <p>Attr    Ablage fest</p> <p>Obj     Stundenplan</p> <p>Name    &#8216;Stundelnplan&#8217; m</p> <p>Vor     &#8216;stunden&#8217;</p> <p>Subst   &#8216;plan&#8217; m</p> <p>Ort     auf Pult</p> <p>Text    &#8216;Der Stundenplan für das erste Jahr&#58;</p> <p>        &#91;#&#93;     Zeit  Mo    Di    Mi    Do    Fr    Sa</p> <p>        &#91;x&#93;     7.45  TAG   TAG   TAG   TAG   ALAN  TAG</p> <p>        &#91;x&#93;     8.30  TAG   TAG   TAG   TAG   ALAN  TAG</p> <p>        &#91;x&#93;     9.15  &#8212;-   &#8212;-   &#8212;-   &#8212;-   &#8212;-   &#8212;-</p> <p>        &#91;x&#93;     9.30  TAG   TAG   TAG   Fld.  TAG   TAG</p> <p>        &#91;x&#93;    10.15  TAG   TAG   TAG   Fld.  TAG   TAG</p> <p>        &#91;x&#93;    11.00  &#8212;-   &#8212;-   &#8212;-   &#8212;-   &#8212;-</p> <p>        &#91;x&#93;    11.15  TAG   Inf.  QB*   TAG   TAG   frei!</p> <p>        &#91;x&#93;    12.00  TAG   Inf.  QB*   TAG   TAG</p> <p>        &#91;#&#93;    *&#41; ersetzt durch TAG&#8217;</p> <p>Aktion  Anfang</p> <p>Ausf</p> <p>  lokale raumVar i</p> <p>  Text &#8216;</p> <p>    &#91;x&#93;Erster Schultag, und schon hast du Klassendienst&#8230;</p> <p>    &#91;#&#93;</p> <p>    &#91;f&#93;M A I K   L E R N T   S C H R E I B E N&#91;n&#93;</p> <p>    &#91;x&#93;Ein interaktiver Schönschreibunterricht</p> <p>    &#40;Mit ENDE kannst du das deutsche Schulsystem</p> <p>    verlassen.&#41;&#91;#&#93;&#8217;</p> <p>  geheZu Klassenzimmer</p> <p>EndeAusf</p> <p>&#8220;`</p> <p>Man könnte den Code auf mehrere Wörter ausweiten, siehe hierzu den oben bereits verlinkten Namens-, nein, jetzt wissen wir&#8217;s ja, Fliegen-Thread. :-)</p> <p>Und, Zoltan, gesehen? Hier wird mit Präp eine alternative Präposition zur Syntax-Definition angegeben.</p> <p>Wie man die &#8216;featureless cubes&#8217; aus <em>Spellbreaker</em> implementiert, ist Hausaufgabe&#8230;</p> </div></td>
AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz