| Geschrieben um 23:12 am 05.01.2004 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 199 | Wie realisiere ich folgendes:
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 | |
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 | |
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’n Gefühl.</p> <p>Also, voilà:</p> <p>“`</p> <p>Feld tWort (13)</p> <p> ! Das Wort, wie es an der Tafel steht</p> <p> ! 1 Länge-Bit, zwölf Buchstaben-Bits</p> <p>Feld pWort (13)</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 (tWort.0 = 0) dann</p> <p> Text ‘nichts/’</p> <p> sonst</p> <p> sei l tWort.0</p> <p> lösche j</p> <p> solange (j<l)</p> <p> inkr j</p> <p> wenn (j = 2) dann</p> <p> ! Erster Buchstabe</p> <p> sei m tWort.j</p> <p> jenach m</p> <p> (”a”..”z”) dekr m 32</p> <p> (”ä”) sei m “Ä”</p> <p> (”ö”) sei m “Ö”</p> <p> (”ü”) sei m “Ü”</p> <p> Ende</p> <p> text ‘[char m]/’</p> <p> sonst</p> <p> ! weitere Buchstaben</p> <p> text ‘[char tWort.j]/’</p> <p> Ende</p> <p> ende</p> <p> Ende</p> <p>EndeAusf</p> <p>ObjAttr beschreibbar</p> <p>Obj Tafel</p> <p>Name ‘Wandtafel’ f</p> <p>Adj ‘groß’</p> <p>Subst ‘tafel’ f</p> <p>Ort Klassenzimmer</p> <p>Besch Ausf</p> <p> wenn (tWort.0) dann</p> <p> Text ‘An der Tafel steht in Maiks krakeliger</p> <p> Handschrift [Tafelwort].’</p> <p> sonst</p> <p> Text ‘An der Tafel steht nichts.’</p> <p> Ende</p> <p>EndeAusf</p> <p>VorAusf</p> <p> (lesen)</p> <p> Stop ‘An der Tafel steht [Tafelwort].’</p> <p>EndeAusf</p> <p>Attr fest beschreibbar</p> <p>Obj Kreide</p> <p>Name ‘weiß^ Kreide’ f</p> <p>Adj ‘weiß’</p> <p>Vor ‘tafel’</p> <p>Subst ‘kreide’ f</p> <p>Ort auf Pult</p> <p>Besch ‘Weiße Kreide. Aus dem Jura.’</p> <p>Obj Schwamm</p> <p>Name ‘Schwamm’ m</p> <p>Subst ‘schwamm’ m</p> <p>Ort auf pult</p> <p>Besch ‘Ein weicher Schwamm, triefnass.’</p> <p>Deko geschriebenes_Wort</p> <p>Name ‘geschrieben^ Wort’ m</p> <p>Subst ’..’ n</p> <p>Ort beiMir</p> <p>VorAusf</p> <p> lokal i j k</p> <p> (schreiben)</p> <p> Bed (pWort.0 > 2)</p> <p> ‘Du willst nichts schreiben? Eigenartig.’</p> <p> Bed (tWort.0 = 0)</p> <p> ‘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.’</p> <p> Wenn (aObj2 = Tafel) dann</p> <p> Bed (Kreide beiMir)</p> <p> ‘Du benötigst Kreide, um etwas auf</p> <p> [den aObj2] schreiben zu können.’</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 (i > pWort.0)</p> <p> stop ‘OK.’</p> <p> sonst</p> <p> text ‘Narrenhände…’</p> <p> Ende</p> <p> (sonst) stop ‘Bisschen philosophisch heute,</p> <p> gell?’</p> <p>EndeAusf</p> <p>Bef schreiben</p> <p>Name ‘schreiben’</p> <p>Verb ‘schreibe’ ‘kritzle’ ‘mockele’</p> <p>Syntax dasObj (Allg) auf dasObj (beschreibbar)</p> <p>Präp ‘an’</p> <p>Ausf</p> <p> Text ‘Bitte gebe das Wort, das du schreiben willst,</p> <p> zwischen Hochkommas an.’</p> <p>EndeAusf</p> <p>Bef wischen</p> <p>Name ‘wische’</p> <p>Verb ‘wische’ ‘lösche’</p> <p>Syntax dasObj</p> <p>Ausf</p> <p> Bed (Schwamm beimir)</p> <p> ‘Du hast nichts zum Wischen.’</p> <p> Bed (aObj = Tafel)</p> <p> ‘Du würdest [den aObj] nur nass machen.’</p> <p> Bed /(tWort.0 = 0)</p> <p> ‘Die Tafel ist bereits gewischt. (Schließlich</p> <p> bist du es, der Klassendienst hat.)’</p> <p> lösche tWort.0</p> <p> Text ‘Du wischst das Gekritzel von der Tafel.’</p> <p>EndeAusf</p> <p>Aktion ObjParser</p> <p>Ausf</p> <p> lokal i</p> <p> ! Das geschriebene Wort</p> <p> Wenn (wort.1 = 39) und (wort.wortLänge = 39) 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 ‘Klassenzimmer’</p> <p>Besch Ausf</p> <p> Text ‘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.’</p> <p> Wenn (tWort.0)</p> <p> Text ‘[#]An der Tafel steht [Tafelwort].’</p> <p>EndeAusf</p> <p>Obj Pult</p> <p>Name ‘Lehrerpult’ n</p> <p>Vor ‘lehrer’</p> <p>Subst ‘pult’ n</p> <p>Ort Klassenzimmer</p> <p>Attr Ablage fest</p> <p>Obj Stundenplan</p> <p>Name ‘Stundelnplan’ m</p> <p>Vor ‘stunden’</p> <p>Subst ‘plan’ m</p> <p>Ort auf Pult</p> <p>Text ‘Der Stundenplan für das erste Jahr:</p> <p> [#] Zeit Mo Di Mi Do Fr Sa</p> <p> [x] 7.45 TAG TAG TAG TAG ALAN TAG</p> <p> [x] 8.30 TAG TAG TAG TAG ALAN TAG</p> <p> [x] 9.15 —- —- —- —- —- —-</p> <p> [x] 9.30 TAG TAG TAG Fld. TAG TAG</p> <p> [x] 10.15 TAG TAG TAG Fld. TAG TAG</p> <p> [x] 11.00 —- —- —- —- —-</p> <p> [x] 11.15 TAG Inf. QB* TAG TAG frei!</p> <p> [x] 12.00 TAG Inf. QB* TAG TAG</p> <p> [#] *) ersetzt durch TAG’</p> <p>Aktion Anfang</p> <p>Ausf</p> <p> lokale raumVar i</p> <p> Text ‘</p> <p> [x]Erster Schultag, und schon hast du Klassendienst…</p> <p> [#]</p> <p> [f]M A I K L E R N T S C H R E I B E N[n]</p> <p> [x]Ein interaktiver Schönschreibunterricht</p> <p> (Mit ENDE kannst du das deutsche Schulsystem</p> <p> verlassen.)[#]’</p> <p> geheZu Klassenzimmer</p> <p>EndeAusf</p> <p>“`</p> <p>Man könnte den Code auf mehrere Wörter ausweiten, siehe hierzu den oben bereits verlinkten Namens-, nein, jetzt wissen wir’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 ‘featureless cubes’ aus <em>Spellbreaker</em> implementiert, ist Hausaufgabe…</p> </div></td> |