|
Anhang A Lösungen zu den Aufgaben
Raum Vor_dem_Haus
...
Rein Im_Haus
Raum Im_Haus
...
Raus Vor_dem_Haus
Rein und Raus sind in normal.adv definiert.
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.'
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.)
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.'
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]].'
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.'
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].'
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.
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å".'
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.'
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
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
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
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
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
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
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.'
Obj Mingvase
...
VorAusf
(hinlegen hineinlegen)
Bed (aObj2 = Tisch)
'Dort sollte ich ein so wertvolles
Artefakt nicht abstellen.'
EndeAusf
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.
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.
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
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.
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.
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
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.
|
Einleitung |