Anhang A

Lösungen zu den Aufgaben

Aufgabe 1:

Erweitere die Raum-Definitionen so, dass man vor dem Haus mit »rein« ins Haus gelangt und von dort mit »raus« wieder hinaus.

Einfach folgende Zeilen in die Raumblöcke einfügen:

Raum    Vor_dem_Haus
...
Rein    Im_Haus	

Raum    Im_Haus
...
Raus    Vor_dem_Haus	


`Rein` und `Raus` sind in `normal.adv` definiert.

Aufgabe 2:

Schreibe passende Antworten für die beiden anderen Räume.

Raum    Vor_dem_Haus
Name    'Vor dem Haus'
Std     nur_N_oder_O
NO      Gegen_Wand
SO      Gegen_Wand
O       Im_Haus
N       Lichtung
Besch   ...	

Raum    Im_Haus
Std     Gegen_Wand
W       Vor_dem_Haus
Name    'In dem kleinen Haus'
Besch   ...	

Antwort nur_N_oder_O
Besch   'Dort ist das Gebüsch zu dicht. Es geht
        nur nach Norden oder nach Osten ins Haus.'	

Antwort Gegen_Wand
Besch   'Dort ist leider eine Wand.'

Aufgabe 3:

Erzeuge ein Taschenmesser, das der Spieler bei sich hat und das man auf- und zumachen kann.

Obj     Taschenmesser
Name    'Taschenmesser' m 5
vor     'taschen' 'klapp'
subst   'messer' m
Zust    geschlossen
Ort     BeiMir
Besch   'Dein Taschenmesser hat einen
        Hirschhorngriff und ist im Moment
        [Taschenmesser.Zust].'

Einer der Zustände offen, geschlossen oder abgeschlossen bewirkt, dass man diesen Gegenstand öffnen und schließen kann.

Die 5 hinter dem m für Maskulinum bewirkt, dass das Messer nicht »das Taschenmesser«, sondern »dein Taschenmesser« heißt. Mehr dazu im Handbuch.

Der Ausdruck in eckigen Klammern bedeutet, dass der Zustand im Klartext, also »offen« oder »geschlossen«, je nach dem momentanen Zustand des Messers ausgegeben wird. (Das ist ein Vorgriff auf Kapitel 6.)

Aufgabe 4:

Erzeuge eine verschließbare Butterbrotdose, die sich im Rucksack befindet, und in der sich eine Tomate, ein hartgekochtes Ei und ein Sandwich befinden.

Obj     Dose
Name    'Brotdose' f
vor     'brot' 'blech'
subst   'dose' f
Ort     in Rucksack
Zust    geschlossen
Attr    Behälter	

Obj     Tomate
Name    'Tomate' f
subst   'tomate' f
Ort     in Dose
Attr    essbar
Besch   'Die Tomate ist rot, rund, bißfest und sie
        hat oben einen kleinen grünen Kranz. das
        unterscheidet sie nicht von anderen
        Tomaten. (Wer jetzt hier eine Bemerkung
        über Tomaten aus Holland erwartet hat -
        Pech gehabt.)'	

Obj     Ei
Name    'hartgekocht^ Ei' n
adj     'hart' 'gekocht' 'hartgekocht'
vor     '8-Minuten'
subst   'ei' n
Ort     in Dose
Attr    essbar
Besch   'Hartgekocht, acht Minuten ungefähr.'

Aufgabe 5:

Erzeuge einen Anorak, der zu Beginn des Spiels im Rucksack ist.

Einfach ein Objekt mit dem Attribut Kleidung definieren:

Obj     Anorak
Name    'Anorak' m
adj     'rot'
vor     'wind'
subst   'anorak' m  'jacke' f
Ort     in Rucksack
Attr    Kleidung
Besch   'Eine rote, wind- und wetterfeste Jacke
        aus Mega-Duro-Tex [[tm]].'

Aufgabe 6:

Definiere ein geschlossenes Einmachglas, in dem sich zur Abrundung unserer Vesper eine Essiggurke befindet. Man kann die Gurke natürlich durch das geschlosene Glas sehen.

Damit man die Gurke sehen kann, muss man einen Behälter definieren, der transparent ist:

Obj     Einmachglas
Name    'Einmachglas' n
vor     'einmach' 'einweck'
subst   'glas' n
Ort     in Rucksack
Attr    Behälter transparent
Zust    geschlossen
Besch   'Von meiner Oma.'
Darin   'In der trüben Brühe im Einmachglas
        schwimm[t 0] [liste 0].'	

Obj     Gurke
Name    'Gewürzgurke' f
vor     'gewürz'
subst   'gurke' f  'gürkchen' n
Ort     in Einmachglas
Attr    essbar
Besch   'Diese Spezialität aus dem Spreewald ist
        grün und picklig, aber trotzdem nicht
        abstoßend.'

Aufgabe 7:

Ändere die Raumbeschreibung im Keller und definiere die modrigen Regale. Benutze dabei eine sinnvolle Darauf-Definition.

Raum    Keller
...
Besch   'Dieser Keller riecht modrig, die feuchten
        Wände sind mit Moos bewachsen. Das, was
        von den verfaulten Regalen übriggeblieben
        ist, ist meist leer.	

       Eine intakte Holztreppe führt zurück nach
        oben.'
Attr    dunkel	

Obj     Regale
Name    'halbverfault^ Regale' p
adj     'faulig' 'faul' 'verfault' 'modrig'
subst   'regale' p  'regal' n
Ort     Keller
Attr    fest
Darauf  'Auf einem der verfaulten Regale [ist]
        [liste 0].'

Aufgabe 8:

Definiere für alle Objekte, die bis jetzt in Deinem Testspiel sind, sinnvolle Volumen. Erzeuge einen Wanderstab, der nicht in den Rucksack passt, den man aber auf den Tisch legen kann.

Nun gut, das ist wohl eher eine Fleißarbeit. Exemplarisch sollen hier der Tisch, der Rucksack und der Wanderstab betrachtet werden:

Obj     Tisch
...
Vol     80	

Obj     Rucksack
...
Vol     40
Gew     3	

Obj     Wanderstab
Name    'Wanderstab' m
vor     'wander'
Subst   'stab' m  'stecken' m
Ort     beimir
Gew     2
Vol     60
Besch   'Der Wanderstab ist gut einen Meter
        sechzig lang. Zwei Plaketten sind an den
        Stab genagelt: ein Edelweiß und eine mit
        der Aufschrift "Internationale
        Volkswanderung Kahler Asten 1982"'

Klar, der Trick ist, dass der Stab ein größeres Volumen hat als der Rucksack, aber kein größeres als der Tisch.

Aufgabe 9:

Definiere einen Klappstuhl, der im Keller steht, und den der Spieler mit sich herumschleppen kann. Man kann sich auf ihn setzen, aber auch stellen!

Obj     Klappstuhl
Name    'Klappstuhl' m
vor     'klapp'
Subst   'stuhl' m
Attr    Sitz Standfläche
Zust    offen
Ort     Keller
Besch   'Ein blauer Klappstuhl aus der Serie
        "Luleå".'

Aufgabe 10:

Definiere die Deko Wald/Bäume, um unsere Spielwelt ein wenig aufzuwerten. Und für die beiden Innenräume die Deko Wand.

Deko    Bäume
Name    'Bäume' p
Subst   'baum' m 'bäume' p 'eichen' p 'birken' p
Subst   'eiche' f 'birke' f
Ort     Lichtung
Besch   'Die Bäume hier sind hauptsächlich Eichen
        und Birken. (Das hättest Du aber schon aus
        der Raumbeschreibung erfahren können, du
        Naseweis.)'	

Deko    Wand
Name    'Wand' f
subst   'wand' f  'wände' p 'decke' f  'boden' m
Ort     Im_Haus Keller
Besch   'Die Wand ist ein vertikales, ebenes
        Konstrukt. Es gibt hier vier Wände. Die
        begrenzenden Ebenen oben und unten heißen
        Decke und Boden.'

Aufgabe 11:

Erzeuge einen Pilz, der im Wald steht. Wenn man ihn zum ersten Mal aufhebt, soll ein Text ausgegeben werden, der sagt, wie er mit einem leisen »Plopp« aus der Erde gezogen wird. Wenn man ihn isst, soll man in 20 Prozent aller Fälle vergiftet werden.

Obj     Pilz
Name    'eigenartig^ Pilz' m
adj     'eigenartig' 'grün' 'weiß' 'giftig'
vor     'gift' 'knollenblätter'
subst   'pilz' m 'kappe' f 'hut' m 'punkte' p
Ort     Lichtung
Besch   'Der Pilz hat eine grüne Kappe mit
        kleinen, weißen Punkten.'
Erst    'Ein eigenartiger grüner Pilz wächst
        mitten auf der Lichtung.'
VorAusf
    (essen)
    Wenn (proz 20) dann
        Text 'Du beißt herzhaft in den Pilz. Aber
            erstens schmeckt der rohe Pilz
            ziemlich bescheiden und zweitens ist
            er hochgiftig.'
        Gestorben
    Ende
EndeAusf
NachAusf
  (nehmen)
  Wenn /(Pilz bewegt)
      Text 'Mit einem leisen "Plopp!" ziehst du
          den Pilz aus dem lockeren Waldboden.'
EndeAusf

Aufgabe 12:

Ändere den Pilz so ab, dass er nicht beim ersten Probieren tödlich ist, sondern erst beim zweiten Mal. Dann aber bestimmt.

ObjAttr probiert	

Obj     Pilz
...
VorAusf
    (essen)
    Wenn (Pilz probiert) dann
        Text 'Du beißt herzhaft in den Pilz. Aber
            erstens schmeckt der rohe Pilz
            ziemlich bescheiden und zweitens ist
            er hochgiftig.'
        Gestorben
    sonst
        Text 'Du knabberst ein wenig an dem Pilz.
            Irgenwie schmeckt er eigenartig, aber
            du kannst nicht genau sagen, warum.'
        AttrHin Pilz probiert
    Ende
    Stop
EndeAusf

Aufgabe 13:

Ändere den Pilz, so dass er beim ersten Mal nur genommen werden kann, wenn der Spieler das Taschenmesser bei sich hat und dieses offen ist. Natürlich muss eine Meldung kommen, dass der Pilz abgeschnitten wurde.

Obj     Pilz
...
VorAusf
    (nehmen)
    Bed (Taschenmesser beiMir)
        'Der Pilz sitzt fest im Boden, du kannst
        ihn nicht einfach herausziehen.'
    Bed (Taschenmesser offen)
        'Gute Idee, aber das Messer ist noch zu.'
    ...
EndeAusf
NachAusf
    (nehmen)
     Text 'Du schneidest den Pilz mit deinem
         Taschenmesser sauber knapp über dem
         Boden ab.'
EndeAusf

Aufgabe 14:

Definiere einen Blechkasten, der nicht auf herkömmliche Weise geöffnet und geschlossen werden kann. Stattdessen besitzt dieser Kasten einen Knopf, der ihn öffnet und schließt.

Obj     Blechkasten
Name    'Blechkasten' m
vor     'blech'
subst   'kasten' m  'kiste' m
Ort     Keller
Attr    Behälter
Zust    geschlossen
Besch   'Vorne auf dem Blechkasten ist ein großer,
        roter Knopf.'
Darin   '[Liste 0] [ist] im Blechkasten.'
VorAusf
  (öffnen schließen öffnen_mit aufschließen)
        Stop 'Das geht so nicht.'
EndeAusf	

Obj     roter_Knopf
Name    'rot^ Knopf auf dem Blechkasten' m
adj     'rot' 'groß'
Subst   'knopf' m
Ort     auf Kasten
VorAusf
    (drücken)
    Wenn (Blechkasten offen) dann
        ObjZust Blechkasten geschlossen
        Text 'Klick! Der Kasten schnappt
            wieder zu!'
    sonst
        ObjZust Blechkasten offen
        Text 'Klick! Der Kasten schnappt auf!'
    Ende
    Stop
EndeAusf

Aufgabe 15:

Definiere einen Wäscheschacht im Haus, so dass alles, was dort hineingelegt wird, automatisch in den Keller rutscht. Dazu muss die Pseudoaktion empfangen abgefangen werden.

Obj     Wäscheschacht
Name    'Wäscheschacht' m
vor     'wäsche'
subst   'schacht' m
Ort     Im_Haus
Attr    immobil Behälter
Besch   'Schwarz und großmäulig, so schluckt der
        Wäscheschacht alles, was man ihm gibt.'
Erst    'In der Nordwand ist eine gähnende,
        schwarze Öffnung - ein Wäscheschacht.'
NachAusf
    (empfangen)
    Text 'Du legst [den aObj] in den Schacht, und
        [er] rutsch[t] bald außer Sichtweite.'
        ObjNach aObj Keller
EndeAusf

Aufgabe 16:

Definiere einen Weidenkorb im Keller, den der Spieler nicht mitnehmen kann, und in den die Wäsche (oder was auch immer) aus dem Wäscheschacht rutscht.

Geschenkt, oder? Zuerst der Korb:

Obj     Wäschekorb
Name    'Weidenkorb' m
vor     'weiden' 'wäsche'
subst   'korb' m   'körbchen' n
Attr    Liege Sitz In_Obj Behälter
Vol     100
Ort     Keller
Besch   'Der Korb ist für einen Wäschekorn
        verhältnismäßig groß. (War vielleicht als
        Gondel für einen Fesselballon gedacht.)'
VorAusf
    (nehmen)
    Stop 'Der Korb ist sehr groß und sehr schwer.
        Lass ihn besser stehen.'
EndeAusf

Dann eine Änderung beim Wäscheschacht:

Obj     Wäscheschacht
...
NachAusf
    (empfangen)
    Text 'Du legst [den aObj] in den Schacht, und
        [er] rutsch[t] bald außer Sichtweite.'
    ObjNach aObj in Wäschekorb
EndeAusf

Aufgabe 17:

Definiere eine Ming-Vase, die zu einem Scherbenhaufen wird, wenn der Spieler sie wirft oder zerstört.

Dazu definieren wir zwei Objekte:

Obj     Mingvase
Name    'Ming-Vase' f
Adj     'schön' 'wertvoll' 'prachtvoll'
Adj     'unbezahlbar' 'teuer' 'chinesisch'
Adj     'unermeßlich' 'sündhaft' 'wunderschön'
Adj     'selten' 'rar' 'verziert' 'einmalig'
vor     'ming'
Subst   'vase' f  'rarität' f
Vol     4
Attr    Behälter
Ort     auf Tisch
Besch   'Diese Ming-Vase ist eine der letzten aus
        der zweiten Ming-Dynastie und ist eine
        unbezahlbare Rarität. Jeder halbwegs
        gescheite Archäologe würde sich nach
        diesem Stück die Finger lecken.'
VorAusf
    (zerstören werfen)
        Text 'Die Vase zersplittert in tausend
            Scherben. Gut gemacht!'
        Tausche Mingvase Scherben
        ObjNach Scherben aRaum
EndeAusf	

Obj     Scherben
Name    'tausend Scherben' p 2
adj     'ehemalig' 'einstig'
vor     'ex'
subst   'scherben' p   'vase' f
Besch   'Diese Scherben waren eine der leztzten
        Vasen aus der zweiten Ming-Dynastie und
        waren eine unbezahlbare Rarität. Jeder
        halbwegs gescheite Archäologe würde sich
        den Idioten in die Finger wünschen, der
        sie zerstört hat.'

Aufgabe 18:

Erweitere die Vase so, dass man sie nirgendwo abstellen kann, außer auf dem Tisch.

Obj     Mingvase
...
VorAusf
    (hinlegen hineinlegen)
        Bed (aObj2 = Tisch)
            'Dort sollte ich ein so wertvolles
            Artefakt nicht abstellen.'
EndeAusf

Aufgabe 19:

Erzeuge einen Befehl, der den Spieler, wenn er das magische Wort »XYZZY« sagt, auf magische Weise ins Haus teleportiert.

Bef     xyzzy
Name    'Das Wort "xyzzy" sagen'
Verb    'xyzzy'
Ausf
    Bed /(aRaum = Im_Haus)
        'Nichts passiert...'
    Text 'Dir wird kurz schwindlig, und deine
        Umgebung verschwimmt. Du befindest Dich
        plötzlich woanders:[#]'
    GeheZu Im_Haus
EndeAusf

Hier können natürlich keine Befehle in runden Klammern angegeben werden, da es sich um den Hauptausführungsblock des Befehls selbst handelt.

Aufgabe 20:

Um Fehler und Ungereimtheiten in Spielen zu überprüfen, baut man während des Schreibens oft sogenannte Debug-Verben ein. Definiere das Verb »Status [Objekt]«, das zu jedem Objekt, ob es sichtbar ist, oder nicht, eine Liste von Informationen ausspuckt, wie z.B. Aufenthaltsort, Gewicht, ob bereits benutzt oder nicht.

Bef     debug_status *
Name    'status'
Verb    'status'
Syntax  dasObj (Allg)
Ausf
    Text '[aObj]	

       Gewicht: [aObj.Gew]
        [x]Volumen: [aObj.Vol] [x]'
    Wenn (aObj fest immobil)
        Text 'unbeweglich[x]'
    Wenn (aObj Behälter)
        Text 'Behälter[x]'
    Wenn (aObj Ablage)
        Text 'Ablage[x]'
    Wenn /(aObj normal)
        Text '[Zust aObj][x]'	

   | Aus normal.adv geklaut
    Text 'Ort:'
    Wenn (aObj BeiMir) Text  'in der Hand'
    Wenn (aObj Angezogen) Text  'angezogen'
    Wenn (aObj in Nirwana) Text 'im Nirwana'
    Wenn (aObj in Nirgendwo) Text  'nirgendwo'
    MutterObj xObj aObj
    Wenn (xObj = 0) dann
        StammRaum xRaum aObj
        Wenn (xRaum > 0) und (xRaum < Nirwana)
            Text  '[xRaum]'
    sonst
        Wenn (aObj auf xObj) Text 'auf [dem xObj]'
        Wenn (aObj in xObj)  Text 'in [dem xObj]'
        Wenn (aObj bei xObj) Text 'bei [dem xObj]'
        Wenn (aObj an xObj)  Text 'an [dem xObj]'
      Ende
    Text '[x]'	

   Wenn (aObj bewegt) Text 'Bereits bewegt.[x]'
    Text '[x]'
EndeAusf

Der Stern nach dem Befehlsnamen definiert ihn als Steuer- oder Meta-Befehl. Er gehört dann nicht zum Spiel selbst, verbraucht keinen Spielzug und kann nicht rückgängig gemacht werden. Andere Meta-Befehle sind z.B. »Ende«, »speichern«, »Knapp«, »Punkte« oder »Manuskript«.

Der Zusatz (Allg) in der Syntax-Zeile heißt, dass das Objekt an jedem beliebigen Ort sein kann, der Spieler muss es nicht sehen können. Dieser Zusatz wird im Allgemeinen für Gesprächsthemen oder ähnliches benutzt.

Aufgabe 21:

Modifiziere den Tisch so, dass man nur die Vase daraufstellen kann. Bei allen anderen Objekten gibt es eine negative Antwort.

Obj     Tisch
...
VorAusf
    (empfangen)
    Bed /(aObj = Scherben)
        'Der Tisch ist auschließlich für intakte
        Mingvasen gedacht.'
    Bed (aObj = Mingvase)
        'Der Tisch ist auschließlich für die
        Mingvase gedacht.'
EndeAusf

Aufgabe 22:

Definiere eine Klasse von Zaubertränken, die verschiedene Farben und eine der drei Wirkungen Heilung, Gift oder Sättigung haben.

ObjAttr Wirkung_bekannt	

ObjKlasse Zaubertrank
Plural  'Zaubertränke' p
vor     'zauber'
subst   'trank' m  'elixier' n
Var     Wirkung 2
Besch Ausf
    Wenn (selbst Wirkung_bekannt) dann
        Text '[Der selbst]'
        Jenach selbst.Wirkung
        (1)       Text '[hat] eine heilende
                  Wirkung.'
        (2)       Text '[ist] ein Gift.'
        (3)       Text 'still[t] den Hunger.'
        (sonst)   Text '[hat] eine mir unbekannte
                  Wirkung.'
        Ende
    sonst
        Text 'Du hast noch nicht herausgefunden,
            was [der selbst] bewirkt.'
    Ende
EndeAusf
VorAusf
    (trinken)
    Text 'Du trinkst [den selbst].'
    Jenach selbst.Wirkung
    (1)     Text 'Du fühlst dich besser.'
            Inkr Gesundheit
    (2)     Text 'Du fühlst dich auf einmal
                ziemlich schlecht.'
            Dekr Gesundheit
            Wenn (Gesundheit = 0) dann
                Text 'In der Tat so schlecht, dass
                du auf den Boden fällst, und dir
                den Magen hälst. Kurz darauf
                stirbst du an dem Gift.'
                Gestorben
            Ende
    (3)     Text 'Du fühlst dich satt.'
            Wenn (Hunger > 0) Dekr Hunger
    (sonst) Text 'Du fühlst dich... Ja, wie
            eigentlich? (Hey, du zweitklassiger
            Programmierer, Wirkung kann nur 1, 2
            oder 3 sein!)'
    Ende
    ObjNach selbst Nirwana
    AttrHin selbst Wirkung_bekannt
    Stop
EndeAusf	

Obj     blauer_Trank (Zaubertrank)
Name    'blau^ Zaubertrank' m
lName   'blau^' m
Adj     'blau'
Var     Wirkung 1
Ort     beiMir	

Obj     milchig_Trank (Zaubertrank)
Name    'milchig^ Zaubertrank' m
lName   'milchig^' m
Adj     'milchig'
Var     Wirkung 3
Ort     in Safe

Die Hauptsache ist hier wohl die Vor-Ausführung für trinken, die die Wirkung der Heiltränke benutzt. Mit dieser Klassendefinition fallen dann die einzelnen Objektblöcke relativ übersichtlich aus. Als Vokabular muss hier nur die Farbe angegeben werden.

Zur Abrundung gibt es ein paar Extras: Anstatt eines Strings kann man für Besch auch einen Ausführungsblock angeben. Das funktioniert auch bei Text, Erst und den Listen Darin, Darauf und Dabei und bei Besch und Name für Räume.

Die Bewandtnis von Plural und lName wird genau im Abschnitt 8.4. des Tutoriums beschrieben.

Wie man die Wirkung der Tränke herausfindet, ohne sie zu trinken, wird hier leider nicht beschrieben.

Aufgabe 23:

Erzeuge ein Gefäß mit einem Rostlösemittel. Erzeuge weiterhin einen Satz von verrosteten Münzen, die zunächst nicht unterscheidbar sind, sich aber nachdem sie in den Rostlöser getaucht wurden, in verschiedene Münzen verwandeln: eine Dublone, eine Pesete usw.

ObjKlasse rostige_Münze
Name    'rostig^ Münze' f
Plural  'rostig^ Münzen' p
Adj     'rostig'
Subst   'münze' f  'münzen' p
Besch   'Man kann nicht erkennen, was für eine
        Münze es einmal war. Ein guatemaltekischer
        Quetzal? Ein Maria-Theresien-Taler? Oder
        eine Öresund-Öre von 1782? - Wer weiß.'	

Obj     rostig1 (rostige_Münze)
Ort     beimir	

Obj     rostig2 (rostige_Münze)
Ort     in Wäschekorb	

...	

Obj     Krügerrand
Name    'krügerrand' m
Vor     'krüger'
Subst   'rand' m  'münze' f
Besch   'Unter einem springenden Gnu steht der
        Wahlspruch "Soli Deo Gloria".'	

Obj     Halfpenny
Name    'Halfpenny' m
Adj     'halb'
Vor     'half'
Subst   'penny' m
Besch   'Obwohl es nur ein Halfpenny ist, hat er
        die Form eines ganzen Kreises. Das
        britische Wappen prangt auf der
        Rückseite.'	

Obj     Lösungsmittel
Name    'Glas mit Lösungsmittel' n
Vor     'lösungs' 'rost'
Ort     Keller
Subst   'glas' n  'gefäß' n  'mittel' n
Subst   'chemikalie' f
Besch   'In dem Glas schwimmt eine türkise
        Chemikalie, die relativ aggressiv aus/-/
        sieht. Laut Etikett ein Rostlösemittel.'
VorAusf
    (empfangen)
    Bed (aObj rostige_Münze)
        'Es ist ein Rostlösemittel. Du tust am
        besten nur rostige Sachen hinein.'
    Bed (Handschuhe angezogen)
        'Ohne Handschuhe packe ich nicht in diese
        Brühe!'
    Jenach aObj
        (rostig1) Sei xObj Krügerrand
        (rostig2) Sei xObj Halfpenny
        (rostig3) Sei xObj Zloty
        (rostig4) Sei xObj Zechine
        ...
    Ende
    Text 'Du hältst die rostige Münze für einige
        Zeit in die türkise Lösung. Nachdem der
        gröbste Rost weg ist, siehst du, dass die
        Münze [ein xObj] ist.'
    Tausche aObj xObj
EndeAusf	

Obj     Handschuhe
Name    'Paar Handschuhe' n
subst   'handschuhe' p  'handschuh' m  'paar' n
Attr    Kleidung
Ort     angezogen
Besch   'Knallgelb, ziemlich dick, und aus Gummi.'

Mit der Münzenklasse werden zunächst alle rostigen Münzen erzeugt. Parallel dazu werden die individuellen Münzen erzeugt, die aber im nirgendwo sind. Eine rostige Münze tauscht mit der individuellen den Ort, wenn sie ins Rostlösebad gehalten wird. Dabei ist die Münze, die anfangs bei mir ist, immer der Rand, die im Korb immer der Halfpenny und so weiter.

Die Handschuhe sind natürlich nur zum Schutz des Spielers gedacht und haben mit der ursprünglichen Aufgabenstellung nichts zu tun.

Aufgabe 24:

Definiere einen Troll, der im Haus ist, und der den Spieler nicht in den Keller lässt, bevor er ihm etwas Essbares gegeben hat.

Flagge  Troll_bezahlt	

Obj     Troll
Name    'Troll' m
Subst   'troll' m
Ort     Im_Haus
Attr    Person
Besch   'Der Troll ist häßlich, so wie man es von
        einem Troll erwartet.'
Erst    'Ein grimmiger Troll steht hier mitten im
        Raum.'
Dabei   'Er spielt mit [liste 2].'
VorReakt
    (gehen)
    Bed /(aRitg = r) oder (Troll_bezahlt)
        '"Halt, Freundchen!", grunzt der Troll,
        "Wenn Du dort hinunter gehen willst, musst
        du mir was zum Naschen geben."'
EndeAusf
VorAusf
    (gegeben)
        Bed (aObj Verpflegung)
            '"Das ist nichts zum Essen. Ich will
            es nicht", schnarrt der Troll.'
        ObjNach aObj bei Troll
        Text '"Danke!", sagt der Troll relativ
            freundlich.'
        Setze Troll_bezahlt
        Stop
    (fragen erzählen)
        Stop 'Der Troll brummelt nur vor sich hin.'
EndeAusf
BefAusf
    (sonst)
        Text 'Der Troll brummt unverständliches
            Zeug.'
EndeAusf

Aufgabe 25:

Ein Wanderer soll entlang einer festgelegten Route laufen, wobei er immer dieselbe Zeit am selben Ort verweilt. Zu bestimmten Zeitpunkten macht er bestimmte Bemerkungen. Dieses Verhaltensmuster soll einen geschlossenen Kreislauf bilden, so dass es sich ständig wiederholt.

Flagge Dämon	

Aktion *
Ausf
    Inkr Dämon
    Jenach Dämon
    (4)     Wenn (Wanderer hier)
            Text 'Der Wanderer geht nach Süden'
            ObjNach Wanderer Vor_dem_Haus
            Wenn (Wanderer hier)
            Text 'Der Wanderer kommt aus dem Wald
                geschlendert.'
    (6)     Wenn (Wanderer hier)
            Text '"Schöne Blumen!", fühlt sich der
                Wandersmann ermuntert zu sagen.'
    (12)    Wenn (Wanderer hier)
            Text 'Der Wanderer betritt das Haus.'
            ObjNach Wanderer Im_Haus
            Wenn (Wanderer hier)
            Text 'Der Wanderer kommt von draußen
                herein.'
    ...
    (46)    Wenn (Wanderer hier)
            Text 'Der Wanderer saugt demonstrativ
                die frische Waldluft ein.'
    Ende
    wenn (Dämon = 48) lösche Dämon
EndeAusf

So funktioniert’s: Für jeden Zug, in dem etwas geschehen soll, einen Jenach-Block schreiben. Bei der Textausgabe muss man natürlich darauf achten, dass der Wanderer am selben Ort ist, wie der Spieler.

Wenn Dämon bis 48 hochgezählt wurde, fängt das ganze Spiel von vorne an. Dabei sollte sichergestellt sein, dass der Wanderer wieder auf der Lichtung ist.

Zählvariablen, die jeden Zug hoch- oder herunterzählen, heißen Dämonen, und deshalb habe ich unsere Flagge auch so genannt. Die meisten Systeme haben ein ausgereifteres Konzept dazu, aber was einfach ist, muss ja nicht unbedingt schlecht sein. Wichtig ist, dass man daran denkt, den Dämon in jeder Runde um eins zu erhöhen.