Zauberschloß – ein Abenteuerspiel mit Tücken
Abenteuerspiele haben ihren ganz besonderen Reiz. Gefragt sind weniger die motorischen Reaktionsfähigkeiten, sondern vielmehr die logische Vorgehensweise und viel Fantasie. In einem streng bewachten Schloß mit seinen vielfältigen Gefahren gilt es, dem Zauberer die Krone und damit die Regentschaft über das Volk zu entreißen. Doch es ist ein steiniger Weg.
Es ist uns klar, daß wir mit der Veröffentlichung des Listings vom Zauberschloß die Möglichkeit bieten, durch Analyse des Programms dem Lösungsweg auf die Spur zu kommen. Viel wichtiger erschien uns jedoch, einmal an einem kommentierten Listing zu zeigen, wie ein Abenteuerspiel aufgebaut ist. Nicht zuletzt, um vielleicht einige Leser anzuregen, sich selbst mit der Erstellung dieser Denkspiele zu befassen.
Worum geht es bei dem Abenteuerspiel Zauberschloß? Nach dem Starten des Programms sieht man zunächst den Wald vor lauter Bäumen nicht. Präzise gesagt, man befindet sich in einem Wald, der kein Ende zu nehmen scheint. In welche Richtung man auch läuft — nur Wald. Mit einem Trick gelangt man aber doch in das Zauberschloß.
An dieser Stelle sei kurz auf die Art der Befehlseingabe hingewiesen. Um die gestellte Aufgabe (die sich erst während des Spiels klarer herauskristallisiert) zu lösen, geben Sie dem Computer Anweisungen, die er dann ausführt. Diese Befehle bestehen in der Regel aus zwei Worten, die durch eine Leerstelle getrennt sein müssen. Das erste Wort ist ein Befehlswort, das aus dem vorhandenen Wortschatz (NIMM VERLIERE LIES ÖFFNE VERJAGE DREH BENUTZE TRINK) zu entnehmen ist. Das zweite Wort bezieht sich auf einen Gegenstand, der in den jeweiligen Situationsbildern zu sehen ist. Die Auswirkungen der Kommandos werden vom C64 auf dem Bildschirm als Nachricht angezeigt. Für die Richtungsangabe werden nur die Anfangsbuchstaben eingegeben. Die möglichen Himmelsrichtungen sind jeweils vorgegeben.
Das Schloß besteht aus mehreren Stockwerken einschließlich einem Kerker im Keller, der in keinem anständigen Schloß fehlen darf. In den verschiedenen Stockwerken lauern Kobolde, die Sie bei falscher Vorgehensweise in einen Zwerg verwandeln, öffnen sich bei Fehltritten Falltüren, liegen Tarnkappen, Gift- und Zaubergetränke, Messer, Speere und Zettel herum. All diese Gegenstände stehen in irgendeiner Beziehung zum weiteren Vorwärtskommen. Man muß sie in der entsprechenden Reihenfolge aufnehmen und wieder wegwerfen. Wegwerfen deshalb, weil man zu einem bestimmten Zeitpunkt nur vier Gegenstände gleichzeitig tragen kann. Ein wesentlicher Meilenstein ist das Buch. In diesem Buch stehen nämlich wichtige Informationen, wie man sich bei der letztlich eintretenden Konfrontation mit dem Zauberer zu verhalten hat. Aber Vorsicht, die Wache hat etwas gegen den verständlichen Wunsch, dieses Buch zu lesen. Als größtes Hindernis tritt Ihnen ein feuerspeiender Drache gegenüber, der den Eingang zum Thronsaal bewacht. Fürwahr, ein schwerer Brocken. Wenn Sie aber den richtigen Zauberspruch auf Lager haben, verwandelt der Zauberer sich in eine niedliche Maus, und Sie haben das Königreich von einem Tyrannen befreit. Es bleibt nur ein Problem: Wie kommt man mit der Krone wieder aus dem Schloß heraus?
Aber bis Sie soweit vorgedrungen sind, werden sicherlich einige Stunden vergangen sein, in denen Sie ein Wechselbad von Enttäuschungen und Hochgefühlen durchleben. Da bis zum endgültigen Ziel eine Menge Schritte einzugeben sind, und Sie sicherlich nicht beim ersten Versuch gleich die Lösung finden werden, bietet Ihnen das Programm die Möglichkeit, das Spiel mit dem Kommando SAVE abzuspeichern. So können Sie zu einem späteren Zeitpunkt genau bei der Stelle weitersuchen, an der Sie kurz vor einem Zusammenbruch aufgehört haben.
Noch eine kurze Bemerkung zum Listing: Um die oben angesprochene Analyse dennoch etwas zu erschweren, sind einige Daten verschlüsselt worden. Das Listing ist im Grafikmodus einzugeben.
Und nun viel Spaß bei einem Abenteuer im Zauberschloß.
(Dennis Merbach/aa)Zeile | |
---|---|
102-162 | Datas für Sprites |
101-102 | Fackel (Multicolor) |
104-106 | Wache |
108-110 | Drache 1. Teil |
112-114 | Drache 2. Teil |
116-118 | Drache 3. Teil |
120-122 | Gift |
125-127 | Handschuh |
130-132 | Zauberer 1. Teil |
135-138 | Zauberer 2. Teil |
140-143 | Krone |
150-151 | Maus |
155-157 | Kobold |
160-162 | Zaubertrank |
500- | Spielanleitung |
1000 | Spielbeginn (im Wald) |
1500 | Unterprogramm Bäume zeichnen |
2030 | Bildschirm blinken |
10000 | im Schloß Poke VC + 17, Peek (VC + 17) and 239 = Bildschirm ausschalten (einschalten mit Poke VC + 17, Peek (VC + 17) or 16 |
10005-10092 | Zeichnen des Raums mit Türen und Leitern |
11000- | sonstige Gegenstände; zu ausführliche Erläuterungen würden hier zu viele Hinweise auf die Lösung geben |
21000- | verschiedene Kontrollen und Zähler für |
Dunkelheit, Tarnkappe, Drache... | |
22000-22010 | Ausgabe der im Raum befindlichen Gegenstände |
30000- | Kommandoeingabe, Erkennung und Reaktion |
40000- | Spiel gewonnen, Schloß in Rauch auflösen... |
50000-52000 | angefangenes Spiel aufnehmen |
55000-57000 | angefangenes Spiel laden |
58000-59000 | Fehlerkontrolle für Diskette |
60000- | Ende Kommentare und Reaktionen |
60020-60030 | Auflisten der getragenen Gegenstände |
60200-60222 | Plan des Schlosses |
60310 | Spielende bei verlorenem Spiel |
Teilweise ist das Programm ein wenig umständlich und könnte vielleicht einfacher programmiert sein. Da aber das Programm schrittweise erstellt wurde, war dies größtenteils nicht mehr möglich, oder eine Änderung wäre zu aufwendig gewesen.
Bit | PR(P1) 1.Block | PL(P) 2. Block |
---|---|---|
1 | Nord | Fackel |
2 | Ost | Speer |
4 | Süd | Handschuh |
8 | West | Krone |
16 | Hoch | Schlüssel |
32 | Runter | Knopf |
64 | Fallgrube | Buch |
128 | 1. Wache | Truhe |
256 | 2. Wache | Messer |
512 | Drache | Zaubertrank |
1024 | Zauberer | Schild |
2048 | — | Kobold |
4096 | — | Tarnkappe |
8192 | — | Plan |
16384 | — | Gift |
Variable:
VC | 53281, Videochip Start |
XY | Zahl der Gegenstände, die man tragen kann (2 oder 4) |
X,Y | Position im Wald |
PX, PY, PZ | Position im Schloß |
HA | Speicherung aller Gegenstände, die man bei sich hat |
HB | Zahl dieser Gegenstände |
RU | erstes Spiel (= 0) oder weiteres Spiel (= 1), um unnötiges, mehrmaliges Durchlaufen einiger Programmteile zu umgehen. |
W,WZ | Zähler zur Kontrolle, ob und wie lange man sich mit einer Wache in einem Raum befindet |
DR, DZ | wie oben, für den Drachen |
BU | Zähler, wie lange man das Buch trägt |
BE | Kontrolle zur Benutzung der Tarnkappe |
HE | Zähler zur Kontrolle der Helligkeit |
BU$ | »0« wenn Buch offen ist |
TU$ | »0« wenn Tür offen ist |
DL$ | Tabelle aller Gegenstände |
PR(X,Y,Z) | Plan der möglichen Richtungen und unbeweglichen Gegenstände in den Räumen |
P1 | wie oben, für den Raum, in dem man sich gerade befindet |
PL(X,Y,Z) | Plan der beweglichen Gegenstände |
P | wie oben, für augenblicklichen Raum |
K0$ | vom Spieler eingegebenes Kommando |
A$ | Kommentar |
Zeilen:
2,3 | Datas für Namen der Gegenstände zum Erkennen und Ausgeben |
10-70 | Datas für Schloßplan 1. Block: Richtungen und unbewegliche Dinge (PR beziehungsweise P1) 2. Block: bewegliche Gegenstände (PL beziehungsweise P) Die Speicherung erfolgt, wie bei HA, bitweise, das heißtzum Beispiel 1. BitderZahlgesetzt = Fackel befindet sich im betreffenden Raum. |
0 print"{clr}{down}{down}{rvon} bitte warten - ich lese daten {rvof}{blk}":poke53280,12:poke53281,9 1 restore:he=0:vc=53248:pz=1:px=3:py=2:ri=0:wz=0:dz=0:dr=0:w=0:x=0:y=0:ha=0:hb=0 2 datafackel,speer,handschuh,krone,schluessel,knopf,buch,truhe,messer 3 datazaubertrank,schild,kobold,tarnkappe,zettel,gift 4 pokevc+21,0:ifru=0thendimpl(2,5,4),pr(2,5,4),di$(14) 5 fora=0to14:readdi$(a):next 10 data6,14,15,24 11 data64,5,3,140 12 data39,11,140,5 13 data1,18,271,41 20 data64,10,12,36 21 data1026,522,269,1 22 data6,142,11,12 23 data17,33,4,1 30 fora=1to2:forb=1to4:forc=1to4:readpr(a,b,c):next:next:next 50 data16384,512,0,1 51 data0,256,0,64 52 data0,0,128,2048 53 data2,4096,1024,0 60 data0,8192,0,0 61 data0,0,0,16 62 data0,0,2,0 63 data0,2048,4,32 70 fora=1to2:forb=1to4:forc=1to4:readpl(a,b,c):next:next:next 101 data,,,,,4,,,18,,,65,,,40,,2,36,,,82,,,168,,,152,,,32,,,48,,,48,,,48,,,48 102 data,,48,,,48,,,48,,,48,,,48,,,48,,,48 104 data16,,,16,,,18,,,255,76,64,19,95,64,18,63,128,16,21,,16,31,,16,17,,17,255 105 data192,63,255,254,63,255,254,19,255,254,19,255,246,19,255,246,19,255,246 106 data19,255,246,19,255,240,19,255,240,16,51,0,19,243,240 108 data8,,,6,,,31,,,54,,,104,,,96,,,192,,,192,,,192,,,192,42,0 109 data224,127,80,224,255,248,224,255,253,103,255,255,127,255,255,127,31,227 110 data126,239,221,63,247,253,31,247,221,15,97,184,7,126,191 112 data,126,,,62,,,126,,,63,,,127,,,63,,,127,,,63,,,126,,,62,0 113 data1,126,,11,252,,95,252,,255,248,0,255,248,0,255,240,0,255,224,0 114 data255,192,0,255,128,0,126,0,0,56,0,0 116 data0,0,0,3,128,0,15,224,0,30,120,0,62,254,0,127,255,135,255,255,253 117 data127,255,255,255,127,255,127,128,0,255,213,94,127,255,252,255,255,240 118 data127,248,0,255,192,0,127,0,0,255,0,0,126,0,0,254,0,0,126,0,0,254,,, 120 data,,255,,,126,,,66,,,66,,15,195,240,8,,16,8,60,16,8,126,16,8,153,16 121 data9,153,144,9,255,144,9,231,144,8,255,16,10,66,80,9,255,144,8,126,16 122 data8,36,16,8,195,16,11,,208,15,255,240,,, 125 data0,0,0,0,0,0,0,48,0,1,182,0,1,182,0,1,182,0,1,182,0,13,182,0,13,182,24 126 data13,182,56,13,182,56,13,182,112,13,182,240,15,255,192,15,255,192 127 data15,255,128,7,255,128,7,255,0,3,255,0,3,255,0,3,255,0 130 data1,255,128,1,255,128,1,255,128,1,60,128,1,153,128,1,255,128,1,255,128 131 data12,189,48,6,189,96,2,219,64,2,102,64,3,126,192,1,60,128,1,189,128 132 data1,153,128,3,195,192,3,221,192,3,255,192,3,255,192,3,189,192,7,189,192 135 data7,189,224,7,189,224,7,60,224,7,126,224,7,126,224,7,126,224,4,255,32 136 data15,255,240,15,255,240,15,255,240,15,255,240,15,255,240,15,255,240 137 data31,255,248,31,255,248,31,255,248,31,255,248,62,221,124,48,221,12 138 data119,221,238,,, 140 data32,24,4,32,24,2,48,60,12,48,60,12,48,60,12,48,60,12,56,126,28,56,126,28 141 data56,126,28,56,126,28,56,126,28,59,255,188,59,255,188,59,255,188 142 data59,255,188,63,255,252,63,255,252,63,255,252,63,255,252,63,255,252 143 data,, 150 data,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,,,13,248,,13,252,,63,254,1 151 data111,254,1,255,255,2,127,255,252,,, 155 data1,252,0,3,30,0,3,231,0,14,123,128,15,249,128,3,96,0,0,204,0 156 data3,158,0,3,62,0,0,110,0,0,238,0,0,239,0,0,239,0,0,239,0,0,239,0 157 data0,31,0,0,255,0,0,255,0,0,56,0,3,184,0,3,248,0 160 data126,0,0,36,0,0,36,0,0,36,0,0,131,0,3,129,192,2,0,64,3,0,192 161 data3,255,192,3,253,192,3,127,192,3,239,192,3,255,192,3,251,192,3,255,192 162 data3,223,192,3,255,192,3,253,192,3,127,192,3,255,192,3,255,192 400 ifru=1then500 410 dimsp(13,63):fora=1to13:forb=1to63:readsp(a,b):next:next 500 print"{clr}{down}{down}{down}"," zauberschloss":print"{down} ein spiel von dennis merbach " 510 print"{down}{down}{down}{down}moechten sie ein {rvon}n{rvof}eues spiel beginnen" 512 print,,"{left}{left}{left}{down}{rvon}a{rvof}ltes spiel fortsetzen" 520 geta$:ifa$="a"then55000 522 ifa$="n"then600 524 goto520 599 stop 600 printchr$(14)"{clr}{down}{down}{down} Ein Adventure-Spiel von Dennis Merbach" 610 print"{down}{down} Ziel des Spiels ist es, eine Aufgabe," 612 print" die im Verlauf des Spiels gestellt" 614 print" wird, zu loesen. Sie koennen dem" 616 print" Computer dazu Anweisungen eingeben," 618 print" die er dann ausfuehrt. Diese Befehle" 620 print" bestehen in der Regel aus zwei Worten," 622 print"{up} die durch eine Leerstelle getrennt " 624 print" sein muessen. Folgende Kommandos," 625 print" gefolgt von einem Gegenstand, werden" 626 print" vom Computer verstanden:" 628 print"{down} NIMM{$a0}VERLIERE{$a0}LIES{$a0}OEFFNE{$a0}VERJAGE{$a0}DREH{$a0}{$a0}BENUTZE{$a0}TRINK DRUECKE" 629 rem zeile628: nimm verliere lies oeffne verjage dreh benutze trink druecke 630 print,"{down}{down}{down} weiter?" 631 geta$:ifa$=""then631 632 print"{clr} {down}{down}{down}{down}Bei Richtungsangaben werden nur die" 634 print" Anfangsbuchstaben eingegeben:" 636 print"{down} N=Nord S=Sued W=West O=Ost":print" H=Hoch R=Runter" 637 print,,," N":print,,,"W{SHIFT-+}O":print,,," S" 638 rem 637 print,,," n":print,,,"w{SHIFT-+}o":print,,," s" 640 print"{down}{down}{down} Nach dem Befehl LIST werden alle":rem list 641 print" Dinge aufgelistet,die man bei sich" 642 print" hat. Vorsicht: Sie koennen immer nur" 644 print" 4 Gegenstaende auf einmal tragen." 646 print" Mit SAVE wird das Spiel fuer spaeteres weiterspielen gespeichert" 647 rem save 650 print"{down}{down}{down} Fertig?" 652 geta$:ifa$=""then652 653 printchr$(142):poke649,9:ti$="000000" 1000 poke53281,9:print"{clr}":fora=0to23step7:print"{home}":gosub1500:next 1010 ifx=0andy=0andri=0thenprint,,,"{up}{left}{left}{left}{left}UI{down}{left}{left}JK{up}":print" ring" 1100 print"{down}richtungen: n-w-s-o-h";:input" kommando";ko$ 1110 ifko$="n"thenx=x+1 1112 ifko$="s"thenx=x-1 1114 ifko$="w"theny=y+1 1118 ifko$="o"theny=y-1 1120 ifko$="nimm ring"thenri=1 1122 ifko$="dreh ring"andri=1then2000 1124 ifko$="h"then1400 1126 ifko$="save"orko$="sA"thenprint"noch nicht moeglich":fora=1to1000:next 1127 ifko$="stop"orko$="sT"thenstop 1129 ifko$="list"orko$="lI"then3000 1130 goto1000 1400 poke53281,0:print"{clr}{down}{down}{gry2}{down} sie sind beim klettern " 1401 print" vom baum gefallen":goto60310 1499 stop 1500 printtab(a)"{grn}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}NM" 1501 printtab(a)"{rght}{rght}{rght}{rght}{rght}{rght}{rght}NNMM" 1502 printtab(a)"{rght}{rght}{rght}{rght}{rght}{rght}{rght}NNMM" 1503 printtab(a)"{rght}{rght}{rght}{rght}{rght}{rght}NN MM" 1504 printtab(a)"{rght}{rght}{rght}{rght}{rght}{rght}N NM M" 1505 printtab(a)"{rght}{rght}{rght}{rght}{rght}N NNMM M" 1506 printtab(a)"{rght}{rght}{rght}{rght}{rght}NNN MMM" 1507 printtab(a)"{rght}{rght}{rght}{rght}NNN NM MMM" 1508 printtab(a)"{rght}{rght}{rght}{rght}NNNN MMMM" 1509 printtab(a)"{rght}{rght}{rght}N NN NM MM M" 1510 printtab(a)"{rght}{rght}{rght}{rght}NN N M MM" 1511 printtab(a)"{rght}{rght}{rght}NNNN NM MMMM" 1512 printtab(a)"{rght}{rght}N NNNNNMMMMM M" 1513 printtab(a)"{rght}{rght}NNN NN MM MMM" 1514 printtab(a)"{rght}NN NNN{$a0}NM{$a0}MMM{$a0}MM" 1515 printtab(a)"{rght}NNN NNN{$a0}{$a0}MMM{$a0}MMM" 1516 printtab(a)"NN NNN NNMM{$a0}MMM{$a0}MM" 1517 printtab(a)"NNNN{$a0}NNNNMMMM{$a0}MMMM" 1518 printtab(a)"{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rght}{blk}{rvon} " 1519 printtab(a)"{rght}{rght}{rght}{rght}{rght}{rght}{rght}{rvon}{SHIFT-POUND} {CBM-*}" 1520 return 2000 print"{clr}{down}{down}{down}{down}{down} der ring hat sich aufgeloest" 2010 print"{down}{down} alles um sie beginnt sich zu drehen" 2020 fora=1to2000:next:print"{clr}" 2030 fora=1to100:forb=1to101-a:next:poke53281,int(rnd(1)*256):next:xy=4 2040 goto10000 3000 ifri=0thenprint"{clr}{down}{down}{down}{down} sie haben nichts":fora=1to2000:next:goto1000 3010 print"{clr}{down}{down}{down}{down} sie haben einen ring":fora=1to2000:next:goto1000 10000 poke53281,9:pokevc+17,peek(vc+17)and239 10005 print"{clr}":pokevc+21,0:fora=2to5:printtab(a)"{blk}M"spc(35-2*a)"N":next 10010 print" O{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}P" 10020 fora=1to8:print" {CBM-H}"spc(23)"{CBM-N}":next 10030 print" L{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{SHIFT-@}":ri$="" 10040 fora=5to2step-1:printtab(a)"N"spc(35-2*a)"M":next 10050 p1=pr(pz,px,py):if(p1and1)<>1then10060 10051 print"{home}{down}{down}{down}{down}{down}{down}"," {CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}":print," {CBM-N}M{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}N{CBM-H}" 10053 fora=1to6:print,"{rght}{rght}{rght}{rght}{CBM-N}{CBM-N} {CBM-H}{CBM-H}":next:print,"{rght}{rght}{rght}{rght}{SHIFT-@}N ML" 10054 ri$="-n":poke214,10:print:print,"{rght}{rght}{rght}{rght}{rght}{rght}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}" 10060 if(p1and8)<>8then10070 10061 print"{home}{down}{down}{down}{down} {CBM-N}M ":print" {CBM-N} M":ri$=ri$+"-w" 10062 print" {CBM-N}{CBM-Y}P":fora=1to9:print" {CBM-N} {CBM-N}":next 10063 print" {CBM-N}{CBM-P}{SHIFT-@}":print" {CBM-N} ":print" {CBM-N} ":print" N":ifkk=1thenkk=0:goto30000 10070 if(p1and2)<>2then10080 10071 print"{home}{down}{down}{down}{down}",,,"{rght}{rght}{rght}{rght}N{CBM-H}":print,,,"{rght}{rght}{rght}N {CBM-H}":ri$=ri$+"-o" 10072 print,,,"{rght}{rght}{rght}O{CBM-Y}{CBM-H}":fora=1to9:print,,,"{rght}{rght}{rght}{CBM-H} {CBM-H}":next:print,,," ML{CBM-P}{CBM-H}" 10073 print,,," {CBM-H}":print,,," {CBM-H}{down}{left}M" 10080 if(p1and4)=4thenri$=ri$+"-s" 10081 if(p1and16)<>16then10090 10082 print"{home}":print,,"{left}{left}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}":print,,"{left}{left}MM{SHIFT--}{CBM-P}{CBM-P}{SHIFT--}NN":ri$=ri$+"-h" 10083 print,,"{left}M{CBM-Q}CC{CBM-W}N":fora=1to7:print,,"{SHIFT--}{rght}{rght}{SHIFT--}":print,,"{CBM-Q}CC{CBM-W}":next 10090 if(p1and32)<>32then10100 10091 poke214,15:print:print,," L{CBM-P}{SHIFT-@}":print,," L{CBM-P}{SHIFT-@}":print,,"N{CBM-H} {CBM-N}M":ri$=ri$+"-r" 10092 print,,"{left}NNO{CBM-Y}PMM":print,,"{left}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}" 10100 p=pl(pz,px,py):if(pand2048)=0then10120 10101 if(haand2)=0then10120 10103 ha=ha-2:ko=2:hb=hb-1 10105 poke214,18:print:print" der kobold hat ihren speer gestohlen" 10120 if(pand2)=2thenpoke214,14:print:print,"_CCCCCCC" 10130 if(pand16)=16thenpoke214,16:print:print,,"{left}{left}{left}{left}{left}oC{CBM-R}" 10140 if(pand64)<>64then10150 10141 poke214,15:print:print," {CBM-P}{CBM-P}{CBM-P}{CBM-P}":print,"N N":print,"{left}N NN" 10142 print,"{left}{left}N{CBM-P}{CBM-P}{CBM-P}NN":print,"{left}{left}{left}{CBM-L} ==(N":print,"{left}{left}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}" 10150 if(pand256)=256thenpoke214,17:print:print,," {CBM-D}{CBM-@}{CBM-@}{CBM-@}":print,,"{rvon} {rvof}{CBM-@}{CBM-@}{CBM-@}>":print,," {CBM-C}" 10160 if(pand1)<>1then10170 10161 fora=1to63:poke831+a,sp(1,a):next:pokevc,255:pokevc+1,100 10162 poke2040,13:pokevc+37,2:pokevc+38,0:pokevc+39,7:pokevc+21,peek(vc+21)or1 10163 pokevc+28,peek(vc+28)or1 10170 if(p1and64)<>64then10180 10171 print"{clr}{down}{down}{rght}{rght}{rght}{gry2}sie sind in eine fallgrube gelaufen" 10172 poke53281,0:goto60310 10180 if(p1and128)<>128and(p1and256)<>256then10200 10181 fora=1to63:poke895+a,sp(2,a):next:poke2041,14:pokevc+40,0:pokevc+2,100 10182 pokevc+3,138:pokevc+21,peek(vc+21)or2:pokevc+23,2:pokevc+29,2:w=1 10183 pokevc+28,peek(vc+28)and243:if(p1and256)<>256then10200 10184 pokevc+41,0:pokevc+23,6:pokevc+29,6:pokevc+4,200:pokevc+5,138:poke2042,14 10185 pokevc+21,peek(vc+21)or4 10200 if(pand1024)<>1024then10210 10201 print"{home}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}O{CBM-Y}P":print"{rght}{rght}{rght}{rght}{rght}{CBM-H}{$a0}{CBM-N}":print"{rght}{rght}{rght}{rght}{rght}{CBM-H}#{CBM-N}" 10202 print"{rght}{rght}{rght}{rght}{rght}{CBM-H} {CBM-N}":print"{rght}{rght}{rght}{rght}{rght}M N":print"{rght}{rght}{rght}{rght}{rght} {CBM-Y}" 10210 if(pand8192)<>0thenpoke214,18:print:print,"{rvon}{wht} {blk}" 10220 if(pand128)<>128then10230 10221 poke214,11:print:print,,"{rght}{rght}{rght}{rght}{rght}{CBM-@}{CBM-@}{CBM-@}{CBM-@}":print,,"{rght}{rght}{rght}{rght}N N{CBM-G}" 10222 print,,"{rght}{rght}{rght}{rght}O{CBM-Y}{CBM-Y}P L" 10223 print,,"{rght}{rght}{rght}{rght}{CBM-G} {CBM-N}N":print,,"{rght}{rght}{rght}{rght}{CBM-T}{CBM-T}{CBM-T}{CBM-T}" 10230 if(p1and512)<>512then10300 10231 if(pand16384)=16384then60400 10232 fora=3to5:forb=1to63:poke831+64*(a-3)+b,sp(a,b):next:next:pokevc+28,0 10235 poke2040,13:poke2041,14:poke2042,15:pokevc+39,5:pokevc+40,5:pokevc+41,5 10237 pokevc+21,7 10239 pokevc+23,7:pokevc+29,7:pokevc,100:pokevc+1,155:pokevc+2,148:pokevc+3,155 10241 pokevc+4,164:pokevc+5,113:f1=2:f2=7 10250 pokevc+17,peek(vc+17)or16:fora=1to25:poke53281,f1:poke53281,f2:forb=1to60 10251 next:mf=f1:f1=f2:f2=mf:next:poke53281,9 10260 if(haand1024)=1024then10270 10265 goto60330 10270 dr=1:ifdr=2and(pand16384)<>16384then60300 10300 if(haand64)=64thenbu=bu+1:ifbu=5then60000 10350 if(pand16384)=0then10400 10355 fora=0to63:pokea+960,sp(6,a):next:poke2044,15:pokevc+21,peek(vc+21)or16 10360 pokevc+43,1:pokevc+8,100:pokevc+9,170 10400 if(haand16384)=16384and(haand4)<>4then60040 10410 if(p1and256)=256and(pand128)=128then60050 10420 if(haand1)=1and(haand64)=64then60070 10430 if(pand4)=0then10450 10435 fora=0to63:pokea+896,sp(7,a):next:pokevc+21,peek(vc+21)or2:poke2041,14 10437 pokevc+40,13:pokevc+2,200:pokevc+3,200:pokevc+29,peek(vc+29)and253 10439 pokevc+23,peek(vc+23)and253 10450 if(p1and1024)=0then10500 10455 n=831:fora=8to10:forb=0to63:n=n+1:poken,sp(a,b):next:next 10457 pokevc+21,7:pokevc+39,0:pokevc+40,0:pokevc+41,7 10459 pokevc+4,162:pokevc+5,83:pokevc+2,150:pokevc+3,143:pokevc,150:pokevc+1,103 10461 pokevc+23,3:pokevc+29,3:poke2040,13:poke2041,14:poke2042,15 10500 if(pand8)=0then10550 10502 fora=0to63:pokea+960,sp(10,a):next:pokevc+21,peek(vc+21)or4:poke2042,15 10504 pokevc+4,150:pokevc+5,170 10550 if(pand2048)=0then10600 10555 fora=0to63:poke896+a,sp(12,a):next:poke2041,14:pokevc+40,0 10557 pokevc+21,peek(vc+21)+2:pokevc+2,250:pokevc+3,180 10559 pokevc+23,peek(vc+23)and253:pokevc+29,peek(vc+29)and253 10600 if(pand4096)=0then10650 10610 poke214,18:print:print,"UCI":print,"{CBM-C}{CBM-U}{CBM-V}" 10650 ifpand32thenpoke214,10:print:print,"W" 10700 if(pand512)=0then10800 10710 fora=1to63:poke702+a,sp(13,a):next:poke2047,11 10715 pokevc+21,peek(vc+21)or128:pokevc+46,4 10717 pokevc+14,60:pokevc+15,170 10800 : 20000 : 21000 he=he+1:if(haand1)=1or(pand1)=1thenpoke53281,9:print"{blk}":goto21100 21005 ifhe>9thenpoke53281,0:print"{gry2}{up} es ist dunkel":goto21100 21010 ifhe>7thenprint,,"{up} es wird dunkel" 21100 ifw=1thenwz=wz+1:ifwz=2then60100 21110 ifdr=1thendz=dz+1:ifdz=2then60300 21120 ifbe=0then21130 21125 be=0:w=0:wz=0:ha=ha-4096:hb=hb-1:print"{up}die tarnkappe hat sich aufgeloest" 21130 ifhaand32thenkn=1 22000 poke214,20:print:fora=0to14:if(pand(2^a))<>0thenprintdi$(a)" "; 22010 next 30000 pokevc+17,peek(vc+17)or16:poke214,21:print:ko$="":a$=" {rvon}nicht moeglich!{up}" 30001 print" richtungen: ";mid$(ri$,2):input" komando";ko$ 30002 ifko$="save"orko$="sA"then50000 30003 ifp1and1024then60500 30004 ifleft$(ko$,3)="sim"orleft$(ko$,3)="abr"then60590 30006 if(ko$="nimm kobold"orko$="verjage kobold")andpand2048then60600 30008 if(haand4096)=4096andko$="benutze tarnkappe"thenbe=1:a$=" in ordnung{up}" 30009 ifko$="druecke knopf"andkn=0then60610 30010 ifko$="n"and(pr(pz,px,py)and1)=1thenpx=px-1:goto63970 30020 ifko$="o"and(pr(pz,px,py)and2)=2thenpy=py+1:goto63970 30030 ifko$="s"and(pr(pz,px,py)and4)=4thenpx=px+1:goto63970 30040 ifko$="w"and(pr(pz,px,py)and8)=8thenpy=py-1:goto63970 30050 ifko$="h"and(pr(pz,px,py)and16)=16thenpz=pz+1:goto63970 30060 ifko$="r"and(pr(pz,px,py)and32)=32thenpz=pz-1:goto63970 30065 ifko$="list"orko$="lI"then60010 30070 ifleft$(ko$,4)<>"nimm"then30200 30080 ifhb=xythenprint"{up}{up}{up} sie koennen nicht soviel tragen":a$="":goto31000 30100 fora=0to14:if(mid$(ko$,6)<>di$(a))or(pand2^a)<>2^athennext:goto30150 30110 hb=hb+1:ha=haor2^a:pl(pz,px,py)=p-2^a:ne=1:next 30150 ifne=1thenne=0:goto10000 30160 goto31000 30200 ifleft$(ko$,8)<>"verliere"then30300 30210 fora=0to14:if(mid$(ko$,10)<>di$(a))or(haand2^a)<>2^athennext:goto30230 30220 hb=hb-1:ha=ha-2^a:pl(pz,px,py)=por2^a:ne=1:next 30230 ifne=1thenne=0:goto10000 30240 goto31000 30300 ifleft$(ko$,6)<>"oeffne"then30400 30310 ifmid$(ko$,8,4)<>"buch"or(haand64)<>64then30330 30320 bu$="o":print,"{home} das buch ist offen":a$="":goto31000 30330 ifright$(ko$,4)<>"tuer"then30340 30335 if(haand16)<>16thenprint"{up}{up}{up} die tuer ist verschlossen":a$="":goto31000 30336 tu$="o":a$="{up}{up}{up}{up} die tuer ist offen ":goto31000 30340 ifright$(ko$,5)<>"truhe"or(haand128)<>128then31000 30345 print"{home} die truhe ist offen, sie enthaelt gold":goto30000 30400 ifko$<>"lies buch"then30450 30410 ifbu$=""thenprint"{clr}{down}{down}{down}{down}{down}{down}{down}{rght}{rght}{rght}{rght}{rght}das zauberschloss":goto30000 30420 goto63900 30450 ifko$="lies zettel"and(haand8192)=8192then60200 30500 ifleft$(ko$,13)<>"verjage wache"andko$<>"verjage waechter"then30550 30510 input"womit";di$:ifdi$<>di$(1)or(haand2)<>2then60100 30520 ifp1and128thenpr(pz,px,py)=p1-128:wz=0:w=0:goto10000 30550 ifleft$(ko$,5)<>"trink"then30700 30555 ifright$(ko$,4)="gift"and(haand16384)=16384then60040 30556 if(haand512)=0orright$(ko$,11)<>"zaubertrank"then30700 30557 hb=hb-1:ha=ha-512 30558 ifxy=2thenxy=4:print"{home}{down}{down} sie sind wieder gross":a$="":goto31000 30560 print"{home} sie sind ein zwerg!":hb=0:pl(pz,px,py)=porha:ha=0:xy=2 30565 fora=1to2000:next:goto10000 30700 : 31000 ifko$="stop"orko$="sT"thenpoke650,0:stop 31010 printa$:fora=1to1000:next 31020 poke214,21:print;:print:fora=1to3 31025 print" ":next:goto30000 40000 fora=1to1000:next:t$=ti$:poke53281,11:print"{clr}{down}{down}{down}{down}{down}{down}" 40001 print,"{blk} {rvon}{SHIFT-POUND}{CBM-*}",,"{left}{rvon}{SHIFT-POUND}{CBM-*}":print,"{rvon}{SHIFT-POUND} {CBM-*}"spc(14)"{SHIFT-POUND} {CBM-*}" 40005 print,"{rvon}{CBM-K} {CBM-L}"spc(14)"{rvon}{CBM-K} {CBM-L}" 40006 print,"{rvon}{CBM-K}{CBM-L}{CBM-J}{CBM-L}"spc(14)"{rvon}{CBM-K}{CBM-L}{CBM-J}{CBM-L}" 40007 print,"{rvon}{CBM-K}{CBM-L}{CBM-J}{CBM-L}"spc(14)"{rvon}{CBM-K}{CBM-L}{CBM-J}{CBM-L}" 40010 print,"{rvon}{CBM-K} {CBM-L}{rvof}{CBM-D}{CBM-F}{CBM-D}{CBM-F}{CBM-D}{CBM-F}{CBM-D}{CBM-F}{CBM-D}{CBM-F}{CBM-D}{CBM-F}{CBM-D}{CBM-F}{rvon}{CBM-K} {CBM-L}" 40015 print,"{rvon}{CBM-K} {CBM-C}{CBM-V}{CBM-C}{CBM-V}{CBM-C}{CBM-V}{CBM-C}{CBM-V}{CBM-C}{CBM-V}{CBM-C}{CBM-V}{CBM-C}{CBM-V}{CBM-C}{CBM-V} {CBM-L}" 40020 print,"{rvon}{CBM-K} {CBM-L}" 40022 print,"{rvon}{CBM-K} {CBM-L}" 40024 print,"{rvon}{CBM-K} {CBM-I} {CBM-L}" 40026 print,"{rvon}{CBM-K} {CBM-L}{rght}{CBM-K} {CBM-L}" 40028 print,"{rvon}{CBM-K} {CBM-L}{rght}{CBM-K} {CBM-L}" 40030 print,"{rvon}{CBM-K} {CBM-L}{rght}{CBM-K} {CBM-L}" 40050 fora=1to1000:next:fora=1to20:poke53281,7:poke53281,0:poke53281,2:next 40055 poke53281,11 40100 fora=1to1000:pokeint(rnd(1)*560+1260),102:next 40110 fora=1to1200:pokeint(rnd(1)*560+1260),32:next:poke53281,11:fora=1to500 40120 next:poke53281,5:print"{clr}{down}{down}{down}das schloss hat sich in rauch aufgeloest" 40125 print"{down}{down} sie sind der neue koenig" 40130 print,"{down}{down}{down}{down}{down}zeit: "left$(t$,2)":"mid$(t$,3,2)":"mid$(t$,5):end 45000 rem *** sub schriftloeschen *** 50000 pokevc+21,0:input"{clr}{down}{down}{down}{down} filename";n$ 50009 print"{down}{down}{down} {rvon}k{rvof}assette oder {rvon}d{rvof}iskette?" 50010 getk$:ifk$="d"then51000 50020 ifk$="k"then52000 50025 goto50010 51000 open2,8,2,n$+",s,w":open15,8,15:input#15,a,a$:ifa$<>"ok"then59000 51001 rem ***************************** zeile 51000 nur fuer diskette 51100 forz=1to2:forx=1to4:fory=1to4:print#2,pl(z,x,y) 51101 print#2,pr(z,x,y):next:next:next 51110 print#2,ha:print#2,hb:print#2,ti$:print#2,pz:print#2,px:print#2,py 51115 print#2,ko:print#2,w:print#2,wz:print#2,dr:print#2,dz:print#2,bu 51120 print#2,be:print#2,he:print#2,bu$:print#2,tu$:print#2,kn:print#2,xy 51200 close2:close15:goto10000 52000 open2,1,2,a$:goto51100 55000 input"{down}{down} filename";n$ 55005 print"{down}{down}{down} {rvon}k{rvof}assette oder {rvon}d{rvof}iskette?" 55010 geta$:ifa$="d"then56000 55012 ifa$="k"then57000 55014 goto55010 56000 open2,8,2,n$+",s,r":goto58000 56001 rem ***************************** zeile 56000 nur fuer diskette 56100 forz=1to2:forx=1to4:fory=1to4:input#2,pl(z,x,y) 56101 input#2,pr(z,x,y):next:next:next 56110 input#2,ha,hb,ti$,pz,px,py 56111 input#2,ko,w,wz,dr,dz,bu 56112 input#2,be,he,bu,tu$,kn,xy 56120 close2:close15:goto10000 57000 open2,1,0,n$:goto56100 57999 rem ***************************** 58000-59999 nur fuer diskette 58000 open15,8,15:input#15,a,a$:ifa$="ok"then56100 58010 ifa$="file not found"then58100 58020 ifa$="drive not ready"then58111 58030 ifa$="file type mismatch"then58120 58050 printa$:end 58100 print"{down}{down} ein file dieses namens existiert nicht" 58110 input"{down}{down} filename";n$:goto58200 58111 print"{down}{down} diskette einlegen!":print,"{down}{down} fertig?" 58112 getx$:ifx$=""then58112 58113 goto58110 58120 print"{down}{down} kein daten-file!":goto58110 58158 printa$:stop 58200 close2:close15:goto56000 59000 close2:close15:ifa$="write protect on"then59100 59010 ifa$="drive not ready"then59200 59030 ifa$="file exists"then59300 59040 ifa$="file type mismatch"then59400 59050 printa$:stop 59060 goto50000 59100 print"{down}{down} diese diskette ist schreib-geschuetzt" 59110 print" bitte eine andere diskette einlegen":print,"{down}fertig?" 59120 getx$:ifx$=""then59120 59130 goto51000 59200 print"{down}{down} diskette einlegen!":print,"{down} fertig?":goto59120 59300 print"{down}{down}ein file dieses namens existiert bereits" 59310 print" soll es ueberschrieben werden (j/n)?" 59320 getx$:ifx$="j"thenn$="@0:"+n$:goto51000 59330 ifx$="n"then50000 59340 goto59320 59400 print"{down}{down} dieser name ist von einem anderen"," file-typ belegt" 59410 fora=1to2000:next:goto50000 59999 rem ***************************** 60000 poke53281,0:print"{gry2}{clr}{down}{down}{down}{rght}das magische buch ist in flammen","aufgegangen" 60001 print"{down}{rght}leider haben sie dabei ebenfalls feuer","gefangen":goto60310 60010 print"{clr}","{down}{down}sie haben:{down}{down}{down}":pokevc+21,0 60020 fora=0to14:ifhaand2^athenprint,di$(a)"{down}" 60021 next:print,"{down}{down} fertig?" 60025 ifpeek(203)=64then60025 60030 geta$:goto30000 60040 poke53281,0:print"{clr}{gry2}{down}{down} sie haben sich vergiftet" 60041 goto60310 60050 print"{home} die waechter haben sich um das gold" 60055 print" gestritten und sich dabei erschlagen":pokevc+21,0 60060 w=0:wz=0:pr(pz,px,py)=p1-256:goto10050 60070 print" die fackel hat das buch verbrannt":ha=ha-64:hb=hb-1:goto10430 60100 ifdi$="messer"and(haand256)=256then60120 60101 ifdi$="gift"and(haand16384)=16384then60125 60105 print"{clr}{down}{down}{down}{down}{gry2} die wache hat sie gefangen" 60106 ifp1and256thenprint"{clr}{down}{down}{down}{down}{gry2} die zweite wache hat sie gefangen" 60108 ifbe=1then10000 60110 poke53281,0:goto60310 60120 print"{clr}{gry2}{down}{down}{down}{down} die hellebarde der wache ist laenger"," als ihr messer" 60122 goto60310 60125 print"{clr}{gry2}{down}{down}{down}{down} die wache wollte das gift nicht essen" 60126 print" und hat sie gefangen":goto60310 60200 poke53281,15:ifhe>9and(pand1)=0and(haand1)=0thenpoke53281,0 60201 pokevc+21,0:print"{clr}{down}{down}{down}{down}{blk} O{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}{CBM-Y}P" 60202 print" {CBM-H}"spc(24)"{CBM-N}" 60204 print" {CBM-H} {CBM-A}{SHIFT-*}{CBM-R}C{CBM-R} {CBM-R}{SHIFT-*}{CBM-S} {CBM-A}{SHIFT-*}{CBM-R}{SHIFT-*}{CBM-R}{SHIFT-*}{CBM-R}{SHIFT-*}{CBM-S} {CBM-N}" 60206 print" {CBM-H} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {CBM-N}" 60208 print" {CBM-H} {CBM-Q} {SHIFT-+} {SHIFT-+} {SHIFT-+}C{CBM-W} {CBM-Q}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-+} {SHIFT-+} {CBM-W} {CBM-N}" 60210 print" {CBM-H} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {CBM-N}" 60212 print" {CBM-H} {CBM-Q}{SHIFT-*}{SHIFT-+} {SHIFT-+}{SHIFT-*}{SHIFT-+} {CBM-W} {CBM-Q}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-+} {SHIFT-+}C{CBM-W} {CBM-N}" 60214 print" {CBM-H} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {CBM-N}" 60215 print" {CBM-H} {CBM-Q} {SHIFT-+}C{SHIFT-+} {SHIFT-+} {CBM-W} {CBM-Q} {SHIFT-+} {SHIFT-+}C{SHIFT-+} {CBM-W} {CBM-N}" 60216 print" {CBM-H} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} {SHIFT--} N {SHIFT--} {CBM-N}" 60217 print" {CBM-H} {CBM-Z}{SHIFT-*}{CBM-E}{SHIFT-*}{CBM-E} {CBM-E}{SHIFT-*}{CBM-X} {CBM-Z}{SHIFT-*}{CBM-E}{SHIFT-*}{CBM-E} {CBM-E}{SHIFT-*}{CBM-X} {CBM-N}" 60218 print" {CBM-H}"spc(24)"{CBM-N}":print" L{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{CBM-P}{SHIFT-@}" 60220 fora=1to3000:next:print"{clr}{down}{down}{down} der plan hat sich in luft aufgeloest" 60222 ha=ha-8192:hb=hb-1:fora=1to2000:next:goto10000 60300 poke53281,0:print"{clr}{down}{down}{down}{gry2} der drache hat sie gefressen" 60310 pokevc+21,0:pokevc+17,peek(vc+17)or16:poke650,0 60315 print,"{down}{down}zeit:"left$(ti$,2)":"mid$(ti$,3,2)":"mid$(ti$,5) 60320 print"{down}{down} noch ein versuch (j/n)?" 60325 geta$:ifa$="j"thenru=1:goto0 60326 ifa$="n"thenpoke650,0:end 60327 goto60325 60330 poke53281,0:print"{clr}{down}{down}{gry2}{down} der feuerspeiende drache hat sie getoetet" 60331 goto60310 60400 print"{home} der drache hat das gift gefressen"," und sich in luft aufgeloest" 60410 p=p-16384:p1=p1-512:pr(pz,px,py)=p1:pl(pz,px,py)=p:pokevc+21,0 60411 dr=0:goto10230 60500 ifko$="simsalakadabra-abrakabum"then60550 60510 poke53281,0:pokevc+21,0 60512 print"{clr}{down}{down}{down}{gry2} der zauberer hat sie in eine maus"," verwandelt":goto60310 60550 fora=0to127step3:poke832+a,0:poke833+a,0:poke834+a,0:pokevc+5,peek(vc+5)+2 60552 next:pokevc+21,4:fora=0to63:poke832+a,sp(11,a):next 60553 pokevc+23,0:pokevc+29,0 60554 pokevc+1,170:pokevc+21,5:p1=p1-1024:pr(pz,px,py)=p1:p=p+8:pm=170 60556 pl(pz,px,py)=p:fora=150to0step-.5:pokevc,a:pm=pm+.1:pokevc+1,pm:next 60558 fora=1to2000:next:goto10000 60590 poke53281,0:print"{clr}{down}{down}{down}{gry2} sie haben sich in eine maus verwandelt":goto60310 60600 a1$="mitnehmen":ifleft$(ko$,7)="verjage"thena1$="verjagen" 60601 print"{clr}{down}{down}{down}{gry2} der kobold wollte sich nicht ";a1$ 60602 print" lassen und hat sie in einen zwerg ver-","zaubert":hb=0 60604 fora=1to2000:next:pl(pz,px,py)=pl(pz,px,py)orha:ha=0:xy=2:goto10000 60610 pr(pz,px,py-1)=pr(pz,px,py-1)or2:p1=p1or8:pr(pz,px,py)=p1:kn=1 60612 pl(pz,px,py)=p-32:print"{up}{up}{up}{up}{up}"; 60614 fora=1to5:print" ":next 60616 poke214,10:print:print," ":goto10060 63900 poke53281,12:pokevc+21,0:print"{clr}{down}{down}{rght}"chr$(14),"Das Zauberschloss" 63901 ifhe>9and(pand1)=0and(haand1)=0thenpoke53281,0 63905 print"{blk}{down}{down}{rght}{rght}Seit langer, langer Zeit ist es Sitte," 63910 print"{up} dass der, der die Krone des Reiches " 63915 print" besitzt, das ganze Land regiert." 63920 print" Doch seit vielen hundert Jahren re-" 63921 print" giert der schreckliche Zauberer, und" 63923 print" keiner von denen, die ihm die Krone " 63926 print" wieder entreissen wollten ist je" 63930 print" wieder zurueckgekehrt.",," Das Schloss ist streng bewacht," 63931 print" und die Gemeinheit der Waechter wird" 63932 print" nur von ihrer Geldgier uebertroffen." 63933 print" ueberall lauern Fallen und vielerlei"," gefahren." 63936 print,"{down}{down}{left}{left}{left}Simsalakadabra-abrakabum" 63940 print,"{down}{down}Fertig?" 63950 getx$:ifx$=""then63950 63955 poke53281,9:printchr$(142):goto10000 63970 ifpz>0then63980 63971 poke53281,0:print"{gry2}{clr}{down}{down}{down}{rght}{rght}{rght}die wache freut sich, dass sie von" 63972 print" selbst in den kerker gegangen sind" 63973 print"{down}{down} schade, dass sie nun bis zum ende" 63974 print" ihres lebens dort bleiben muessen " 63975 print" und nicht mehr weiter spielen koennen":goto60310 63980 ifpz<3then63983 63981 poke53281,0:print"{gry2}{clr}{down}{down} sie sind auf das dach geklettert," 63982 print" abgerutscht,in den graben gefallen":print" und ertrunken":goto60310 63983 ifpx<>0then63985 63984 poke53281,0:print"{clr}{down}{gry2} diese tuer fuehrt in den wassergraben":goto60310 63985 ifpr(pz,px,py)>0then10000 63986 ifpz=1then63989 63987 poke53281,0:print"{clr}{gry2}{down}{down}{down} die tuer fuehrte ins freie. sie sind" 63988 print" aus dem zweiten stock gestuerzt":goto60310 63989 iftu$="o"then63992 63990 px=4:print"{up}{up}{up}{up}sie sind gegen die tuer gelaufen":a$="":goto31000 63992 print"{clr}","{gry2}{down}{down} sie sind im freien" 63994 ifhaand8then40000 63995 poke53281,0:print"{down} weil sie das land nicht befreit haben," 63996 print" hat die wuetende menge sie verpruegelt":goto60310
0 PRINT"{CLR,2DOWN,RVSON,3SPACE}BITTE WARTEN{2SPACE}-{2SPACE}ICH LESE DATEN{6SPACE,RVOFF,BLACK}":POKE 53280,12:POKE 53281,9 1 RESTORE :HE=0:VC=53248:PZ=1:PX=3:PY=2:RI=0:WZ=0:DZ=0:DR=0:W=0:X=0:Y=0:HA=0:HB=0 2 DATA FACKEL,SPEER,HANDSCHUH,KRONE,SCHLUESSEL,KNOPF,BUCH,TRUHE,MESSER 3 DATA ZAUBERTRANK,SCHILD,KOBOLD,TARNKAPPE,ZETTEL,GIFT 4 POKE VC+21,0:IF RU=0 THENDIM PL(2,5,4),PR(2,5,4),DI$(14) 5 FOR A=0 TO14:READ DI$(A):NEXT 10 DATA 6,14,15,24 11 DATA 64,5,3,140 12 DATA 39,11,140,5 13 DATA 1,18,271,41 20 DATA 64,10,12,36 21 DATA 1026,522,269,1 22 DATA 6,142,11,12 23 DATA 17,33,4,1 30 FOR A=1 TO2:FOR B=1 TO4:FOR C=1 TO4:READ PR(A,B,C):NEXT :NEXT :NEXT 50 DATA 16384,512,0,1 51 DATA 0,256,0,64 52 DATA 0,0,128,2048 53 DATA 2,4096,1024,0 60 DATA 0,8192,0,0 61 DATA 0,0,0,16 62 DATA 0,0,2,0 63 DATA 0,2048,4,32 70 FOR A=1 TO2:FOR B=1 TO4:FOR C=1 TO4:READ PL(A,B,C):NEXT :NEXT :NEXT 101 DATA ,,,,,4,,,18,,,65,,,40,,2,36,,,82,,,168,,,152,,,32,,,48,,,48,,,48,,,48 102 DATA ,,48,,,48,,,48,,,48,,,48,,,48,,,48 104 DATA 16,,,16,,,18,,,255,76,64,19,95,64,18,63,128,16,21,,16,31,,16,17,,17,255 105 DATA 192,63,255,254,63,255,254,19,255,254,19,255,246,19,255,246,19,255,246 106 DATA 19,255,246,19,255,240,19,255,240,16,51,0,19,243,240 108 DATA 8,,,6,,,31,,,54,,,104,,,96,,,192,,,192,,,192,,,192,42,0 109 DATA 224,127,80,224,255,248,224,255,253,103,255,255,127,255,255,127,31,227 110 DATA 126,239,221,63,247,253,31,247,221,15,97,184,7,126,191 112 DATA ,126,,,62,,,126,,,63,,,127,,,63,,,127,,,63,,,126,,,62,0 113 DATA 1,126,,11,252,,95,252,,255,248,0,255,248,0,255,240,0,255,224,0 114 DATA 255,192,0,255,128,0,126,0,0,56,0,0 116 DATA 0,0,0,3,128,0,15,224,0,30,120,0,62,254,0,127,255,135,255,255,253 117 DATA 127,255,255,255,127,255,127,128,0,255,213,94,127,255,252,255,255,240 118 DATA 127,248,0,255,192,0,127,0,0,255,0,0,126,0,0,254,0,0,126,0,0,254,,, 120 DATA ,,255,,,126,,,66,,,66,,15,195,240,8,,16,8,60,16,8,126,16,8,153,16 121 DATA 9,153,144,9,255,144,9,231,144,8,255,16,10,66,80,9,255,144,8,126,16 122 DATA 8,36,16,8,195,16,11,,208,15,255,240,,, 125 DATA 0,0,0,0,0,0,0,48,0,1,182,0,1,182,0,1,182,0,1,182,0,13,182,0,13,182,24 126 DATA 13,182,56,13,182,56,13,182,112,13,182,240,15,255,192,15,255,192 127 DATA 15,255,128,7,255,128,7,255,0,3,255,0,3,255,0,3,255,0 130 DATA 1,255,128,1,255,128,1,255,128,1,60,128,1,153,128,1,255,128,1,255,128 131 DATA 12,189,48,6,189,96,2,219,64,2,102,64,3,126,192,1,60,128,1,189,128 132 DATA 1,153,128,3,195,192,3,221,192,3,255,192,3,255,192,3,189,192,7,189,192 135 DATA 7,189,224,7,189,224,7,60,224,7,126,224,7,126,224,7,126,224,4,255,32 136 DATA 15,255,240,15,255,240,15,255,240,15,255,240,15,255,240,15,255,240 137 DATA 31,255,248,31,255,248,31,255,248,31,255,248,62,221,124,48,221,12 138 DATA 119,221,238,,, 140 DATA 32,24,4,32,24,2,48,60,12,48,60,12,48,60,12,48,60,12,56,126,28,56,126,28 141 DATA 56,126,28,56,126,28,56,126,28,59,255,188,59,255,188,59,255,188 142 DATA 59,255,188,63,255,252,63,255,252,63,255,252,63,255,252,63,255,252 143 DATA ,, 150 DATA ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,,,13,248,,13,252,,63,254,1 151 DATA 111,254,1,255,255,2,127,255,252,,, 155 DATA 1,252,0,3,30,0,3,231,0,14,123,128,15,249,128,3,96,0,0,204,0 156 DATA 3,158,0,3,62,0,0,110,0,0,238,0,0,239,0,0,239,0,0,239,0,0,239,0 157 DATA 0,31,0,0,255,0,0,255,0,0,56,0,3,184,0,3,248,0 160 DATA 126,0,0,36,0,0,36,0,0,36,0,0,131,0,3,129,192,2,0,64,3,0,192 161 DATA 3,255,192,3,253,192,3,127,192,3,239,192,3,255,192,3,251,192,3,255,192 162 DATA 3,223,192,3,255,192,3,253,192,3,127,192,3,255,192,3,255,192 400 IF RU=1 THEN500 410 DIM SP(13,63):FOR A=1 TO13:FOR B=1 TO63:READ SP(A,B):NEXT :NEXT 500 PRINT"{CLR,3DOWN}","{2SPACE}ZAUBERSCHLOSS":PRINT"{DOWN,5SPACE}EIN SPIEL VON DENNIS MERBACH " 510 PRINT"{4DOWN}MOECHTEN SIE EIN{SPACE,RVSON}N{RVOFF}EUES SPIEL BEGINNEN" 512 PRINT,,"{3LEFT,DOWN,RVSON}A{RVOFF}LTES SPIEL FORTSETZEN" 520 GET A$:IF A$="A" THEN55000 522 IF A$="N" THEN600 524 GOTO 520 599 STOP 600 PRINTCHR$ (14)"{CLR,3DOWN,SPACE}EIN ADVENTURE-SPIEL VON DENNIS MERBACH" 610 PRINT"{2DOWN,2SPACE}ZIEL DES SPIELS IST ES, EINE AUFGABE," 612 PRINT"{2SPACE}DIE IM VERLAUF DES SPIELS GESTELLT" 614 PRINT"{2SPACE}WIRD, ZU LOESEN.{2SPACE}SIE KOENNEN DEM" 616 PRINT"{2SPACE}COMPUTER DAZU ANWEISUNGEN EINGEBEN," 618 PRINT"{2SPACE}DIE ER DANN AUSFUEHRT.{2SPACE}DIESE BEFEHLE" 620 PRINT"{2SPACE}BESTEHEN IN DER REGEL AUS ZWEI WORTEN," 622 PRINT"{UP,2SPACE}DIE DURCH EINE LEERSTELLE GETRENNT " 624 PRINT"{2SPACE}SEIN MUESSEN. FOLGENDE KOMMANDOS," 625 PRINT"{2SPACE}GEFOLGT VON EINEM GEGENSTAND, WERDEN" 626 PRINT"{2SPACE}VOM COMPUTER VERSTANDEN:" 628 PRINT"{DOWN,SPACE}NIMM{SHIFT-SPACE}VERLIERE{SHIFT-SPACE}LIES{SHIFT-SPACE}OEFFNE{SHIFT-SPACE}VERJAGE{SHIFT-SPACE}DREH{SHIFT-SPACE,SHIFT-SPACE}BENUTZE{SHIFT-SPACE}TRINK DRUECKE" 629 REM ZEILE628: NIMM VERLIERE LIES OEFFNE VERJAGE DREH BENUTZE TRINK DRUECKE 630 PRINT,"{3DOWN,3SPACE}WEITER?" 631 GET A$:IF A$="" THEN631 632 PRINT"{CLR,2SPACE,4DOWN}BEI RICHTUNGSANGABEN WERDEN NUR DIE" 634 PRINT"{2SPACE}ANFANGSBUCHSTABEN EINGEGEBEN:" 636 PRINT"{DOWN,2SPACE}N=NORD S=SUED W=WEST O=OST":PRINT"{2SPACE}H=HOCH R=RUNTER" 637 PRINT,,," N":PRINT,,,"W+O":PRINT,,," S" 638 REM 637 PRINT,,," N":PRINT,,,"W+O":PRINT,,," S" 640 PRINT"{3DOWN,2SPACE}NACH DEM BEFEHL LIST WERDEN ALLE":REM LIST 641 PRINT"{2SPACE}DINGE AUFGELISTET,DIE MAN BEI SICH" 642 PRINT"{2SPACE}HAT. VORSICHT: SIE KOENNEN IMMER NUR" 644 PRINT"{2SPACE}4 GEGENSTAENDE AUF EINMAL TRAGEN." 646 PRINT"{2SPACE}MIT SAVE WIRD DAS SPIEL FUER SPAETERES{2SPACE}WEITERSPIELEN GESPEICHERT" 647 REM SAVE 650 PRINT"{3DOWN,6SPACE}FERTIG?" 652 GET A$:IF A$="" THEN652 653 PRINTCHR$ (142):POKE 649,9:TI$="000000" 1000 POKE 53281,9:PRINT"{CLR}":FOR A=0 TO23STEP 7:PRINT"{HOME}":GOSUB 1500:NEXT 1010 IF X=0AND Y=0AND RI=0 THENPRINT,,,"{UP,4LEFT}UI{DOWN,2LEFT}JK{UP}":PRINT"{SPACE,SPACE}RING" 1100 PRINT"{DOWN}RICHTUNGEN: N-W-S-O-H";:INPUT"{SPACE,SPACE}KOMMANDO";KO$ 1110 IF KO$="N" THENX=X+1 1112 IF KO$="S" THENX=X-1 1114 IF KO$="W" THENY=Y+1 1118 IF KO$="O" THENY=Y-1 1120 IF KO$="NIMM RING" THENRI=1 1122 IF KO$="DREH RING"AND RI=1 THEN2000 1124 IF KO$="H" THEN1400 1126 IF KO$="SAVE"OR KO$="SA" THENPRINT"NOCH NICHT MOEGLICH":FOR A=1 TO1000:NEXT 1127 IF KO$="STOP"OR KO$="ST" THENSTOP 1129 IF KO$="LIST"OR KO$="LI" THEN3000 1130 GOTO 1000 1400 POKE 53281,0:PRINT"{CLR,2DOWN,GREY2,DOWN,6SPACE}SIE SIND BEIM KLETTERN " 1401 PRINT"{7SPACE}VOM BAUM GEFALLEN":GOTO 60310 1499 STOP 1500 PRINTTAB( A)"{GREEN,8RIGHT}NM" 1501 PRINTTAB( A)"{7RIGHT}NNMM" 1502 PRINTTAB( A)"{7RIGHT}NNMM" 1503 PRINTTAB( A)"{6RIGHT}NN{2SPACE}MM" 1504 PRINTTAB( A)"{6RIGHT}N NM M" 1505 PRINTTAB( A)"{5RIGHT}N NNMM M" 1506 PRINTTAB( A)"{5RIGHT}NNN{2SPACE}MMM" 1507 PRINTTAB( A)"{4RIGHT}NNN NM MMM" 1508 PRINTTAB( A)"{4RIGHT}NNNN{2SPACE}MMMM" 1509 PRINTTAB( A)"{3RIGHT}N NN NM MM M" 1510 PRINTTAB( A)"{4RIGHT}NN N{2SPACE}M MM" 1511 PRINTTAB( A)"{3RIGHT}NNNN NM MMMM" 1512 PRINTTAB( A)"{2RIGHT}N NNNNNMMMMM M" 1513 PRINTTAB( A)"{2RIGHT}NNN NN{2SPACE}MM MMM" 1514 PRINTTAB( A)"{RIGHT}NN NNN{SHIFT-SPACE}NM{SHIFT-SPACE}MMM{SHIFT-SPACE}MM" 1515 PRINTTAB( A)"{RIGHT}NNN NNN{SHIFT-SPACE,SHIFT-SPACE}MMM{SHIFT-SPACE}MMM" 1516 PRINTTAB( A)"NN NNN NNMM{SHIFT-SPACE}MMM{SHIFT-SPACE}MM" 1517 PRINTTAB( A)"NNNN{SHIFT-SPACE}NNNNMMMM{SHIFT-SPACE}MMMM" 1518 PRINTTAB( A)"{8RIGHT,BLACK,RVSON,2SPACE}" 1519 PRINTTAB( A)"{7RIGHT,RVSON}£{2SPACE}*" 1520 RETURN 2000 PRINT"{CLR,5DOWN,3SPACE}DER RING HAT SICH AUFGELOEST" 2010 PRINT"{2DOWN,2SPACE}ALLES UM SIE BEGINNT SICH ZU DREHEN" 2020 FOR A=1 TO2000:NEXT :PRINT"{CLR}" 2030 FOR A=1 TO100:FOR B=1 TO101-A:NEXT :POKE 53281,INT (RND (1)*256):NEXT :XY=4 2040 GOTO 10000 3000 IF RI=0 THENPRINT"{CLR,4DOWN,5SPACE}SIE HABEN NICHTS":FOR A=1 TO2000:NEXT :GOTO 1000 3010 PRINT"{CLR,4DOWN,3SPACE}SIE HABEN EINEN RING":FOR A=1 TO2000:NEXT :GOTO 1000 10000 POKE 53281,9:POKE VC+17,PEEK (VC+17)AND 239 10005 PRINT"{CLR}":POKE VC+21,0:FOR A=2 TO5:PRINTTAB( A)"{BLACK}M"SPC( 35-2*A)"N":NEXT 10010 PRINT"{6SPACE}OYYYYYYYYYYYYYYYYYYYYYYYP" 10020 FOR A=1 TO8:PRINT"{6SPACE}H"SPC( 23)"N":NEXT 10030 PRINT"{6SPACE}LPPPPPPPPPPPPPPPPPPPPPPP@":RI$="" 10040 FOR A=5 TO2STEP -1:PRINTTAB( A)"N"SPC( 35-2*A)"M":NEXT 10050 P1=PR(PZ,PX,PY):IF (P1AND 1)<>1 THEN10060 10051 PRINT"{HOME,6DOWN}","{5SPACE}PPPPPPP":PRINT,"{4SPACE}NMPPPPPNH" 10053 FOR A=1 TO6:PRINT,"{4RIGHT}NN{5SPACE}HH":NEXT :PRINT,"{4RIGHT}@N{5SPACE}ML" 10054 RI$="-N":POKE 214,10:PRINT:PRINT,"{6RIGHT}PPPPP" 10060 IF (P1AND 8)<>8 THEN10070 10061 PRINT"{HOME,4DOWN,SPACE}NM ":PRINT" N M":RI$=RI$+"-W" 10062 PRINT" NYP":FOR A=1 TO9:PRINT" N N":NEXT 10063 PRINT" NP@":PRINT" N{3SPACE}":PRINT" N ":PRINT" N":IF KK=1 THENKK=0:GOTO 30000 10070 IF (P1AND 2)<>2 THEN10080 10071 PRINT"{HOME,4DOWN}",,,"{4RIGHT}NH":PRINT,,,"{3RIGHT}N H":RI$=RI$+"-O" 10072 PRINT,,,"{3RIGHT}OYH":FOR A=1 TO9:PRINT,,,"{3RIGHT}H H":NEXT :PRINT,,,"{2SPACE}MLPH" 10073 PRINT,,,"{5SPACE}H":PRINT,,,"{5SPACE}H{DOWN,LEFT}M" 10080 IF (P1AND 4)=4 THENRI$=RI$+"-S" 10081 IF (P1AND 16)<>16 THEN10090 10082 PRINT"{HOME}":PRINT,,"{2LEFT}PPPPPPPP":PRINT,,"{LEFT,LEFT}MM-PP-NN":RI$=RI$+"-H" 10083 PRINT,,"{LEFT}MQCCWN":FOR A=1 TO7:PRINT,,"-{RIGHT,RIGHT}-":PRINT,,"QCCW":NEXT 10090 IF (P1AND 32)<>32 THEN10100 10091 POKE 214,15:PRINT:PRINT,," LP@":PRINT,," LP@":PRINT,,"NH NM":RI$=RI$+"-R" 10092 PRINT,,"{LEFT}NNOYPMM":PRINT,,"{LEFT}YYYYYYY" 10100 P=PL(PZ,PX,PY):IF (PAND 2048)=0 THEN10120 10101 IF (HAAND 2)=0 THEN10120 10103 HA=HA-2:KO=2:HB=HB-1 10105 POKE 214,18:PRINT:PRINT" DER KOBOLD HAT IHREN SPEER GESTOHLEN" 10120 IF (PAND 2)=2 THENPOKE 214,14:PRINT:PRINT,"←CCCCCCC" 10130 IF (PAND 16)=16 THENPOKE 214,16:PRINT:PRINT,,"{5LEFT}OCR" 10140 IF (PAND 64)<>64 THEN10150 10141 POKE 214,15:PRINT:PRINT," PPPP":PRINT,"N{3SPACE}N":PRINT,"{LEFT}N{SPACE,2SPACE}NN" 10142 PRINT,"{2LEFT}NPPPNN":PRINT,"{3LEFT}L ==(N":PRINT,"{2LEFT}YYYY" 10150 IF (PAND 256)=256 THENPOKE 214,17:PRINT:PRINT,,"{3SPACE}D@@@":PRINT,,"{RVSON,4SPACE,RVOFF}@@@>":PRINT,,"{3SPACE}C" 10160 IF (PAND 1)<>1 THEN10170 10161 FOR A=1 TO63:POKE 831+A,SP(1,A):NEXT :POKE VC,255:POKE VC+1,100 10162 POKE 2040,13:POKE VC+37,2:POKE VC+38,0:POKE VC+39,7:POKE VC+21,PEEK (VC+21)OR 1 10163 POKE VC+28,PEEK (VC+28)OR 1 10170 IF (P1AND 64)<>64 THEN10180 10171 PRINT"{CLR,2DOWN,3RIGHT,GREY2}SIE SIND IN EINE FALLGRUBE GELAUFEN" 10172 POKE 53281,0:GOTO 60310 10180 IF (P1AND 128)<>128AND (P1AND 256)<>256 THEN10200 10181 FOR A=1 TO63:POKE 895+A,SP(2,A):NEXT :POKE 2041,14:POKE VC+40,0:POKE VC+2,100 10182 POKE VC+3,138:POKE VC+21,PEEK (VC+21)OR 2:POKE VC+23,2:POKE VC+29,2:W=1 10183 POKE VC+28,PEEK (VC+28)AND 243:IF (P1AND 256)<>256 THEN10200 10184 POKE VC+41,0:POKE VC+23,6:POKE VC+29,6:POKE VC+4,200:POKE VC+5,138:POKE 2042,14 10185 POKE VC+21,PEEK (VC+21)OR 4 10200 IF (PAND 1024)<>1024 THEN10210 10201 PRINT"{HOME,11DOWN,5RIGHT}OYP":PRINT"{5RIGHT}H{SHIFT-SPACE}N":PRINT"{RIGHT,4RIGHT}H#N" 10202 PRINT"{5RIGHT}H N":PRINT"{5RIGHT}M N":PRINT"{5RIGHT,SPACE}Y" 10210 IF (PAND 8192)<>0 THENPOKE 214,18:PRINT:PRINT,"{RVSON,WHITE,SPACE,BLACK}" 10220 IF (PAND 128)<>128 THEN10230 10221 POKE 214,11:PRINT:PRINT,,"{5RIGHT}@@@@":PRINT,,"{4RIGHT}N{3SPACE}NG" 10222 PRINT,,"{4RIGHT}OYYP L" 10223 PRINT,,"{4RIGHT}G{2SPACE}NN":PRINT,,"{4RIGHT}TTTT" 10230 IF (P1AND 512)<>512 THEN10300 10231 IF (PAND 16384)=16384 THEN60400 10232 FOR A=3 TO5:FOR B=1 TO63:POKE 831+64*(A-3)+B,SP(A,B):NEXT :NEXT :POKE VC+28,0 10235 POKE 2040,13:POKE 2041,14:POKE 2042,15:POKE VC+39,5:POKE VC+40,5:POKE VC+41,5 10237 POKE VC+21,7 10239 POKE VC+23,7:POKE VC+29,7:POKE VC,100:POKE VC+1,155:POKE VC+2,148:POKE VC+3,155 10241 POKE VC+4,164:POKE VC+5,113:F1=2:F2=7 10250 POKE VC+17,PEEK (VC+17)OR 16:FOR A=1 TO25:POKE 53281,F1:POKE 53281,F2:FOR B=1 TO60 10251 NEXT :MF=F1:F1=F2:F2=MF:NEXT :POKE 53281,9 10260 IF (HAAND 1024)=1024 THEN10270 10265 GOTO 60330 10270 DR=1:IF DR=2AND (PAND 16384)<>16384 THEN60300 10300 IF (HAAND 64)=64 THENBU=BU+1:IF BU=5 THEN60000 10350 IF (PAND 16384)=0 THEN10400 10355 FOR A=0 TO63:POKE A+960,SP(6,A):NEXT :POKE 2044,15:POKE VC+21,PEEK (VC+21)OR 16 10360 POKE VC+43,1:POKE VC+8,100:POKE VC+9,170 10400 IF (HAAND 16384)=16384AND (HAAND 4)<>4 THEN60040 10410 IF (P1AND 256)=256AND (PAND 128)=128 THEN60050 10420 IF (HAAND 1)=1AND (HAAND 64)=64 THEN60070 10430 IF (PAND 4)=0 THEN10450 10435 FOR A=0 TO63:POKE A+896,SP(7,A):NEXT :POKE VC+21,PEEK (VC+21)OR 2:POKE 2041,14 10437 POKE VC+40,13:POKE VC+2,200:POKE VC+3,200:POKE VC+29,PEEK (VC+29)AND 253 10439 POKE VC+23,PEEK (VC+23)AND 253 10450 IF (P1AND 1024)=0 THEN10500 10455 N=831:FOR A=8 TO10:FOR B=0 TO63:N=N+1:POKE N,SP(A,B):NEXT :NEXT 10457 POKE VC+21,7:POKE VC+39,0:POKE VC+40,0:POKE VC+41,7 10459 POKE VC+4,162:POKE VC+5,83:POKE VC+2,150:POKE VC+3,143:POKE VC,150:POKE VC+1,103 10461 POKE VC+23,3:POKE VC+29,3:POKE 2040,13:POKE 2041,14:POKE 2042,15 10500 IF (PAND 8)=0 THEN10550 10502 FOR A=0 TO63:POKE A+960,SP(10,A):NEXT :POKE VC+21,PEEK (VC+21)OR 4:POKE 2042,15 10504 POKE VC+4,150:POKE VC+5,170 10550 IF (PAND 2048)=0 THEN10600 10555 FOR A=0 TO63:POKE 896+A,SP(12,A):NEXT :POKE 2041,14:POKE VC+40,0 10557 POKE VC+21,PEEK (VC+21)+2:POKE VC+2,250:POKE VC+3,180 10559 POKE VC+23,PEEK (VC+23)AND 253:POKE VC+29,PEEK (VC+29)AND 253 10600 IF (PAND 4096)=0 THEN10650 10610 POKE 214,18:PRINT:PRINT,"UCI":PRINT,"CUV" 10650 IF PAND 32 THENPOKE 214,10:PRINT:PRINT,"W" 10700 IF (PAND 512)=0 THEN10800 10710 FOR A=1 TO63:POKE 702+A,SP(13,A):NEXT :POKE 2047,11 10715 POKE VC+21,PEEK (VC+21)OR 128:POKE VC+46,4 10717 POKE VC+14,60:POKE VC+15,170 10800 : 20000 : 21000 HE=HE+1:IF (HAAND 1)=1OR (PAND 1)=1 THENPOKE 53281,9:PRINT"{BLACK}":GOTO 21100 21005 IF HE>9 THENPOKE 53281,0:PRINT"{GREY2,UP,2SPACE}ES IST DUNKEL":GOTO 21100 21010 IF HE>7 THENPRINT,,"{UP,2SPACE}ES WIRD DUNKEL" 21100 IF W=1 THENWZ=WZ+1:IF WZ=2 THEN60100 21110 IF DR=1 THENDZ=DZ+1:IF DZ=2 THEN60300 21120 IF BE=0 THEN21130 21125 BE=0:W=0:WZ=0:HA=HA-4096:HB=HB-1:PRINT"{UP}DIE TARNKAPPE HAT SICH AUFGELOEST" 21130 IF HAAND 32 THENKN=1 22000 POKE 214,20:PRINT:FOR A=0 TO14:IF (PAND (2^A))<>0 THENPRINTDI$(A)" "; 22010 NEXT 30000 POKE VC+17,PEEK (VC+17)OR 16:POKE 214,21:PRINT:KO$="":A$="{SPACE,RVSON}NICHT MOEGLICH!{UP}" 30001 PRINT"{2SPACE}RICHTUNGEN: ";MID$ (RI$,2):INPUT"{3SPACE}KOMANDO";KO$ 30002 IF KO$="SAVE"OR KO$="SA" THEN50000 30003 IF P1AND 1024 THEN60500 30004 IF LEFT$ (KO$,3)="SIM"OR LEFT$ (KO$,3)="ABR" THEN60590 30006 IF (KO$="NIMM KOBOLD"OR KO$="VERJAGE KOBOLD")AND PAND 2048 THEN60600 30008 IF (HAAND 4096)=4096AND KO$="BENUTZE TARNKAPPE" THENBE=1:A$="{3SPACE}IN ORDNUNG{UP}" 30009 IF KO$="DRUECKE KNOPF"AND KN=0 THEN60610 30010 IF KO$="N"AND (PR(PZ,PX,PY)AND 1)=1 THENPX=PX-1:GOTO 63970 30020 IF KO$="O"AND (PR(PZ,PX,PY)AND 2)=2 THENPY=PY+1:GOTO 63970 30030 IF KO$="S"AND (PR(PZ,PX,PY)AND 4)=4 THENPX=PX+1:GOTO 63970 30040 IF KO$="W"AND (PR(PZ,PX,PY)AND 8)=8 THENPY=PY-1:GOTO 63970 30050 IF KO$="H"AND (PR(PZ,PX,PY)AND 16)=16 THENPZ=PZ+1:GOTO 63970 30060 IF KO$="R"AND (PR(PZ,PX,PY)AND 32)=32 THENPZ=PZ-1:GOTO 63970 30065 IF KO$="LIST"OR KO$="LI" THEN60010 30070 IF LEFT$ (KO$,4)<>"NIMM" THEN30200 30080 IF HB=XY THENPRINT"{3UP,3SPACE}SIE KOENNEN NICHT SOVIEL TRAGEN":A$="":GOTO 31000 30100 FOR A=0 TO14:IF (MID$ (KO$,6)<>DI$(A))OR (PAND 2^A)<>2^A THENNEXT :GOTO 30150 30110 HB=HB+1:HA=HAOR 2^A:PL(PZ,PX,PY)=P-2^A:NE=1:NEXT 30150 IF NE=1 THENNE=0:GOTO 10000 30160 GOTO 31000 30200 IF LEFT$ (KO$,8)<>"VERLIERE" THEN30300 30210 FOR A=0 TO14:IF (MID$ (KO$,10)<>DI$(A))OR (HAAND 2^A)<>2^A THENNEXT :GOTO 30230 30220 HB=HB-1:HA=HA-2^A:PL(PZ,PX,PY)=POR 2^A:NE=1:NEXT 30230 IF NE=1 THENNE=0:GOTO 10000 30240 GOTO 31000 30300 IF LEFT$ (KO$,6)<>"OEFFNE" THEN30400 30310 IF MID$ (KO$,8,4)<>"BUCH"OR (HAAND 64)<>64 THEN30330 30320 BU$="O":PRINT,"{HOME,4SPACE}DAS BUCH IST OFFEN":A$="":GOTO 31000 30330 IF RIGHT$ (KO$,4)<>"TUER" THEN30340 30335 IF (HAAND 16)<>16 THENPRINT"{3UP,SPACE}DIE TUER IST VERSCHLOSSEN":A$="":GOTO 31000 30336 TU$="O":A$="{4UP,SPACE}DIE TUER IST OFFEN{13SPACE}":GOTO 31000 30340 IF RIGHT$ (KO$,5)<>"TRUHE"OR (HAAND 128)<>128 THEN31000 30345 PRINT"{HOME,SPACE}DIE TRUHE IST OFFEN, SIE ENTHAELT GOLD":GOTO 30000 30400 IF KO$<>"LIES BUCH" THEN30450 30410 IF BU$="" THENPRINT"{CLR,7DOWN,5RIGHT}DAS ZAUBERSCHLOSS":GOTO 30000 30420 GOTO 63900 30450 IF KO$="LIES ZETTEL"AND (HAAND 8192)=8192 THEN60200 30500 IF LEFT$ (KO$,13)<>"VERJAGE WACHE"AND KO$<>"VERJAGE WAECHTER" THEN30550 30510 INPUT"WOMIT";DI$:IF DI$<>DI$(1)OR (HAAND 2)<>2 THEN60100 30520 IF P1AND 128 THENPR(PZ,PX,PY)=P1-128:WZ=0:W=0:GOTO 10000 30550 IF LEFT$ (KO$,5)<>"TRINK" THEN30700 30555 IF RIGHT$ (KO$,4)="GIFT"AND (HAAND 16384)=16384 THEN60040 30556 IF (HAAND 512)=0OR RIGHT$ (KO$,11)<>"ZAUBERTRANK" THEN30700 30557 HB=HB-1:HA=HA-512 30558 IF XY=2 THENXY=4:PRINT"{HOME,2DOWN,SPACE}SIE SIND WIEDER GROSS":A$="":GOTO 31000 30560 PRINT"{HOME,SPACE}SIE SIND EIN ZWERG!":HB=0:PL(PZ,PX,PY)=POR HA:HA=0:XY=2 30565 FOR A=1 TO2000:NEXT :GOTO 10000 30700 : 31000 IF KO$="STOP"OR KO$="ST" THENPOKE 650,0:STOP 31010 PRINTA$:FOR A=1 TO1000:NEXT 31020 POKE 214,21:PRINT;:PRINT:FOR A=1 TO3 31025 PRINT"{39SPACE}":NEXT :GOTO 30000 40000 FOR A=1 TO1000:NEXT :T$=TI$:POKE 53281,11:PRINT"{CLR,6DOWN}" 40001 PRINT,"{BLACK,SPACE,RVSON}£*",,"{LEFT,RVSON}£*":PRINT,"{RVSON}£{2SPACE}*"SPC( 14)"£{SPACE,SPACE}*" 40005 PRINT,"{RVSON}K{SPACE,SPACE}L"SPC( 14)"{RVSON}K{SPACE,SPACE}L" 40006 PRINT,"{RVSON}KLJL"SPC( 14)"{RVSON}KLJL" 40007 PRINT,"{RVSON}KLJL"SPC( 14)"{RVSON}KLJL" 40010 PRINT,"{RVSON}K{SPACE,SPACE}L{RVOFF}DFDFDFDFDFDFDF{RVSON}K{SPACE,SPACE}L" 40015 PRINT,"{RVSON}K{2SPACE}CVCVCVCVCVCVCVCV{SPACE,SPACE}L" 40020 PRINT,"{RVSON}K{SPACE,19SPACE}L" 40022 PRINT,"{RVSON}K{SPACE,19SPACE}L" 40024 PRINT,"{RVSON}K{SPACE,8SPACE}I{10SPACE}L" 40026 PRINT,"{RVSON}K{SPACE,7SPACE}L{RIGHT}K{SPACE,8SPACE}L" 40028 PRINT,"{RVSON}K{SPACE,7SPACE}L{RIGHT}K{SPACE,8SPACE}L" 40030 PRINT,"{RVSON}K{SPACE,7SPACE}L{RIGHT}K{SPACE,8SPACE}L" 40050 FOR A=1 TO1000:NEXT :FOR A=1 TO20:POKE 53281,7:POKE 53281,0:POKE 53281,2:NEXT 40055 POKE 53281,11 40100 FOR A=1 TO1000:POKE INT (RND (1)*560+1260),102:NEXT 40110 FOR A=1 TO1200:POKE INT (RND (1)*560+1260),32:NEXT :POKE 53281,11:FOR A=1 TO500 40120 NEXT :POKE 53281,5:PRINT"{CLR,3DOWN}DAS SCHLOSS HAT SICH IN RAUCH AUFGELOEST" 40125 PRINT"{2DOWN,2SPACE}SIE SIND DER NEUE KOENIG" 40130 PRINT,"{5DOWN}ZEIT: "LEFT$ (T$,2)":"MID$ (T$,3,2)":"MID$ (T$,5):END 45000 REM *** SUB SCHRIFTLOESCHEN *** 50000 POKE VC+21,0:INPUT"{CLR,4DOWN,4SPACE}FILENAME";N$ 50009 PRINT"{3DOWN,3SPACE,RVSON}K{RVOFF}ASSETTE{SPACE,SPACE}ODER{2SPACE,RVSON}D{RVOFF}ISKETTE?" 50010 GET K$:IF K$="D" THEN51000 50020 IF K$="K" THEN52000 50025 GOTO 50010 51000 OPEN 2,8,2,N$+",S,W":OPEN 15,8,15:INPUT#15,A,A$:IF A$<>"OK" THEN59000 51001 REM ***************************** ZEILE 51000 NUR FUER DISKETTE 51100 FOR Z=1 TO2:FOR X=1 TO4:FOR Y=1 TO4:PRINT#2,PL(Z,X,Y) 51101 PRINT#2,PR(Z,X,Y):NEXT :NEXT :NEXT 51110 PRINT#2,HA:PRINT#2,HB:PRINT#2,TI$:PRINT#2,PZ:PRINT#2,PX:PRINT#2,PY 51115 PRINT#2,KO:PRINT#2,W:PRINT#2,WZ:PRINT#2,DR:PRINT#2,DZ:PRINT#2,BU 51120 PRINT#2,BE:PRINT#2,HE:PRINT#2,BU$:PRINT#2,TU$:PRINT#2,KN:PRINT#2,XY 51200 CLOSE 2:CLOSE 15:GOTO 10000 52000 OPEN 2,1,2,A$:GOTO 51100 55000 INPUT"{2DOWN,8SPACE}FILENAME";N$ 55005 PRINT"{3DOWN,7SPACE,RVSON}K{RVOFF}ASSETTE ODER{SPACE,RVSON}D{RVOFF}ISKETTE?" 55010 GET A$:IF A$="D" THEN56000 55012 IF A$="K" THEN57000 55014 GOTO 55010 56000 OPEN 2,8,2,N$+",S,R":GOTO 58000 56001 REM ***************************** ZEILE 56000 NUR FUER DISKETTE 56100 FOR Z=1 TO2:FOR X=1 TO4:FOR Y=1 TO4:INPUT#2,PL(Z,X,Y) 56101 INPUT#2,PR(Z,X,Y):NEXT :NEXT :NEXT 56110 INPUT#2,HA,HB,TI$,PZ,PX,PY 56111 INPUT#2,KO,W,WZ,DR,DZ,BU 56112 INPUT#2,BE,HE,BU,TU$,KN,XY 56120 CLOSE 2:CLOSE 15:GOTO 10000 57000 OPEN 2,1,0,N$:GOTO 56100 57999 REM ***************************** 58000-59999 NUR FUER DISKETTE 58000 OPEN 15,8,15:INPUT#15,A,A$:IF A$="OK" THEN56100 58010 IF A$="FILE NOT FOUND" THEN58100 58020 IF A$="DRIVE NOT READY" THEN58111 58030 IF A$="FILE TYPE MISMATCH" THEN58120 58050 PRINTA$:END 58100 PRINT"{2DOWN,SPACE}EIN FILE DIESES NAMENS EXISTIERT NICHT" 58110 INPUT"{2DOWN,9SPACE}FILENAME";N$:GOTO 58200 58111 PRINT"{2DOWN,4SPACE}DISKETTE EINLEGEN!":PRINT,"{2DOWN,3SPACE}FERTIG?" 58112 GET X$:IF X$="" THEN58112 58113 GOTO 58110 58120 PRINT"{2DOWN,5SPACE}KEIN DATEN-FILE!":GOTO 58110 58158 PRINTA$:STOP 58200 CLOSE 2:CLOSE 15:GOTO 56000 59000 CLOSE 2:CLOSE 15:IF A$="WRITE PROTECT ON" THEN59100 59010 IF A$="DRIVE NOT READY" THEN59200 59030 IF A$="FILE EXISTS" THEN59300 59040 IF A$="FILE TYPE MISMATCH" THEN59400 59050 PRINTA$:STOP 59060 GOTO 50000 59100 PRINT"{2DOWN,SPACE}DIESE DISKETTE IST SCHREIB-GESCHUETZT" 59110 PRINT" BITTE EINE ANDERE DISKETTE EINLEGEN":PRINT,"{DOWN}FERTIG?" 59120 GET X$:IF X$="" THEN59120 59130 GOTO 51000 59200 PRINT"{2DOWN,4SPACE}DISKETTE EINLEGEN!":PRINT,"{DOWN,SPACE}FERTIG?":GOTO 59120 59300 PRINT"{2DOWN}EIN FILE DIESES NAMENS EXISTIERT BEREITS" 59310 PRINT" SOLL ES UEBERSCHRIEBEN WERDEN (J/N)?" 59320 GET X$:IF X$="J" THENN$="@0:"+N$:GOTO 51000 59330 IF X$="N" THEN50000 59340 GOTO 59320 59400 PRINT"{2DOWN,SPACE}DIESER NAME IST VON EINEM ANDEREN"," FILE-TYP BELEGT" 59410 FOR A=1 TO2000:NEXT :GOTO 50000 59999 REM ***************************** 60000 POKE 53281,0:PRINT"{GREY2,CLR,3DOWN,RIGHT}DAS MAGISCHE BUCH IST IN FLAMMEN","AUFGEGANGEN" 60001 PRINT"{DOWN,RIGHT}LEIDER HABEN SIE DABEI EBENFALLS FEUER","GEFANGEN":GOTO 60310 60010 PRINT"{CLR}","{DOWN,DOWN}SIE HABEN:{3DOWN}":POKE VC+21,0 60020 FOR A=0 TO14:IF HAAND 2^A THENPRINT,DI$(A)"{DOWN}" 60021 NEXT :PRINT,"{2DOWN,SPACE}FERTIG?" 60025 IF PEEK (203)=64 THEN60025 60030 GET A$:GOTO 30000 60040 POKE 53281,0:PRINT"{CLR,GREY2,2DOWN,SPACE}SIE HABEN SICH VERGIFTET" 60041 GOTO 60310 60050 PRINT"{HOME,2SPACE}DIE WAECHTER HABEN SICH UM DAS GOLD" 60055 PRINT" GESTRITTEN UND SICH DABEI ERSCHLAGEN":POKE VC+21,0 60060 W=0:WZ=0:PR(PZ,PX,PY)=P1-256:GOTO 10050 60070 PRINT" DIE FACKEL HAT DAS BUCH VERBRANNT":HA=HA-64:HB=HB-1:GOTO 10430 60100 IF DI$="MESSER"AND (HAAND 256)=256 THEN60120 60101 IF DI$="GIFT"AND (HAAND 16384)=16384 THEN60125 60105 PRINT"{CLR,4DOWN,GREY2,2SPACE}DIE WACHE HAT SIE GEFANGEN" 60106 IF P1AND 256 THENPRINT"{CLR,4DOWN,GREY2,2SPACE}DIE ZWEITE WACHE HAT SIE GEFANGEN" 60108 IF BE=1 THEN10000 60110 POKE 53281,0:GOTO 60310 60120 PRINT"{CLR,GREY2,4DOWN,2SPACE}DIE HELLEBARDE DER WACHE IST LAENGER","{2SPACE}ALS IHR MESSER" 60122 GOTO 60310 60125 PRINT"{CLR,GREY2,4DOWN,2SPACE}DIE WACHE WOLLTE DAS GIFT NICHT ESSEN" 60126 PRINT"{2SPACE}UND HAT SIE GEFANGEN":GOTO 60310 60200 POKE 53281,15:IF HE>9AND (PAND 1)=0AND (HAAND 1)=0 THENPOKE 53281,0 60201 POKE VC+21,0:PRINT"{CLR,4DOWN,BLACK,6SPACE}OYYYYYYYYYYYYYYYYYYYYYYYYP" 60202 PRINT"{6SPACE}H"SPC( 24)"N" 60204 PRINT"{6SPACE}H A*RCR R*S{3SPACE}A*R*R*R*S{2SPACE}N" 60206 PRINT"{6SPACE}H -{7SPACE}-{3SPACE}-{5SPACE}- -{2SPACE}N" 60208 PRINT"{6SPACE}H Q + + +CW{3SPACE}Q*+*+ + W{2SPACE}N" 60210 PRINT"{6SPACE}H - - -{3SPACE}-{3SPACE}-{5SPACE}- -{2SPACE}N" 60212 PRINT"{6SPACE}H Q*+ +*+ W{3SPACE}Q*+*+ +CW{2SPACE}N" 60214 PRINT"{6SPACE}H -{5SPACE}- -{3SPACE}-{7SPACE}-{2SPACE}N" 60215 PRINT"{6SPACE}H Q +C+ + W{3SPACE}Q + +C+ W{2SPACE}N" 60216 PRINT"{6SPACE}H - -{5SPACE}-{3SPACE}- - - N -{2SPACE}N" 60217 PRINT"{6SPACE}H Z*E*E E*X{3SPACE}Z*E*E E*X{2SPACE}N" 60218 PRINT"{6SPACE}H"SPC( 24)"N":PRINT"{6SPACE}LPPPPPPPPPPPPPPPPPPPPPPPP@" 60220 FOR A=1 TO3000:NEXT :PRINT"{CLR,3DOWN,2SPACE}DER PLAN HAT SICH IN LUFT AUFGELOEST" 60222 HA=HA-8192:HB=HB-1:FOR A=1 TO2000:NEXT :GOTO 10000 60300 POKE 53281,0:PRINT"{CLR,3DOWN,GREY2,2SPACE}DER DRACHE HAT SIE GEFRESSEN" 60310 POKE VC+21,0:POKE VC+17,PEEK (VC+17)OR 16:POKE 650,0 60315 PRINT,"{2DOWN}ZEIT:"LEFT$ (TI$,2)":"MID$ (TI$,3,2)":"MID$ (TI$,5) 60320 PRINT"{2DOWN,SPACE}NOCH EIN VERSUCH (J/N)?" 60325 GET A$:IF A$="J" THENRU=1:GOTO 0 60326 IF A$="N" THENPOKE 650,0:END 60327 GOTO 60325 60330 POKE 53281,0:PRINT"{CLR,2DOWN,GREY2,DOWN,SPACE}DER FEUERSPEIENDE DRACHE HAT SIE{9SPACE}GETOETET" 60331 GOTO 60310 60400 PRINT"{HOME,SPACE}DER DRACHE HAT DAS GIFT GEFRESSEN"," UND SICH IN LUFT AUFGELOEST" 60410 P=P-16384:P1=P1-512:PR(PZ,PX,PY)=P1:PL(PZ,PX,PY)=P:POKE VC+21,0 60411 DR=0:GOTO 10230 60500 IF KO$="SIMSALAKADABRA-ABRAKABUM" THEN60550 60510 POKE 53281,0:POKE VC+21,0 60512 PRINT"{CLR,3DOWN,GREY2,2SPACE}DER ZAUBERER HAT SIE IN EINE MAUS","{3SPACE}VERWANDELT":GOTO 60310 60550 FOR A=0 TO127STEP 3:POKE 832+A,0:POKE 833+A,0:POKE 834+A,0:POKE VC+5,PEEK (VC+5)+2 60552 NEXT :POKE VC+21,4:FOR A=0 TO63:POKE 832+A,SP(11,A):NEXT 60553 POKE VC+23,0:POKE VC+29,0 60554 POKE VC+1,170:POKE VC+21,5:P1=P1-1024:PR(PZ,PX,PY)=P1:P=P+8:PM=170 60556 PL(PZ,PX,PY)=P:FOR A=150 TO0STEP -.5:POKE VC,A:PM=PM+.1:POKE VC+1,PM:NEXT 60558 FOR A=1 TO2000:NEXT :GOTO 10000 60590 POKE 53281,0:PRINT"{CLR,3DOWN,GREY2,SPACE}SIE HABEN SICH IN EINE MAUS VERWANDELT":GOTO 60310 60600 A1$="MITNEHMEN":IF LEFT$ (KO$,7)="VERJAGE" THENA1$="VERJAGEN" 60601 PRINT"{CLR,3DOWN,GREY2,SPACE}DER KOBOLD WOLLTE SICH NICHT ";A1$ 60602 PRINT" LASSEN UND HAT SIE IN EINEN ZWERG VER-","ZAUBERT":HB=0 60604 FOR A=1 TO2000:NEXT :PL(PZ,PX,PY)=PL(PZ,PX,PY)OR HA:HA=0:XY=2:GOTO 10000 60610 PR(PZ,PX,PY-1)=PR(PZ,PX,PY-1)OR 2:P1=P1OR 8:PR(PZ,PX,PY)=P1:KN=1 60612 PL(PZ,PX,PY)=P-32:PRINT"{5UP}"; 60614 FOR A=1 TO5:PRINT"{38SPACE}":NEXT 60616 POKE 214,10:PRINT:PRINT," ":GOTO 10060 63900 POKE 53281,12:POKE VC+21,0:PRINT"{CLR,2DOWN,RIGHT}"CHR$ (14),"DAS ZAUBERSCHLOSS" 63901 IF HE>9AND (PAND 1)=0AND (HAAND 1)=0 THENPOKE 53281,0 63905 PRINT"{BLACK,2DOWN,2RIGHT}SEIT LANGER, LANGER ZEIT IST ES SITTE," 63910 PRINT"{UP,SPACE}DASS DER, DER DIE KRONE DES REICHES " 63915 PRINT" BESITZT, DAS GANZE LAND REGIERT." 63920 PRINT" DOCH SEIT VIELEN HUNDERT JAHREN RE-" 63921 PRINT" GIERT DER SCHRECKLICHE ZAUBERER, UND" 63923 PRINT"{2SPACE}KEINER VON DENEN, DIE IHM DIE KRONE " 63926 PRINT" WIEDER ENTREISSEN WOLLTEN IST JE" 63930 PRINT" WIEDER ZURUECKGEKEHRT.",," DAS SCHLOSS IST STRENG BEWACHT," 63931 PRINT" UND DIE GEMEINHEIT DER WAECHTER WIRD" 63932 PRINT" NUR VON IHRER GELDGIER UEBERTROFFEN." 63933 PRINT" UEBERALL LAUERN FALLEN UND VIELERLEI"," GEFAHREN." 63936 PRINT,"{2DOWN,3LEFT}SIMSALAKADABRA-ABRAKABUM" 63940 PRINT,"{2DOWN}FERTIG?" 63950 GET X$:IF X$="" THEN63950 63955 POKE 53281,9:PRINTCHR$ (142):GOTO 10000 63970 IF PZ>0 THEN63980 63971 POKE 53281,0:PRINT"{GREY2,CLR,3DOWN,3RIGHT}DIE WACHE FREUT SICH, DASS SIE VON" 63972 PRINT"{3SPACE}SELBST IN DEN KERKER GEGANGEN SIND" 63973 PRINT"{2DOWN,2SPACE}SCHADE, DASS SIE NUN BIS ZUM ENDE" 63974 PRINT"{2SPACE}IHRES LEBENS DORT BLEIBEN MUESSEN " 63975 PRINT"{2SPACE}UND NICHT MEHR WEITER SPIELEN KOENNEN":GOTO 60310 63980 IF PZ<3 THEN63983 63981 POKE 53281,0:PRINT"{GREY2,CLR,2DOWN,SPACE}SIE SIND AUF DAS DACH GEKLETTERT," 63982 PRINT" ABGERUTSCHT,IN DEN GRABEN GEFALLEN":PRINT" UND ERTRUNKEN":GOTO 60310 63983 IF PX<>0 THEN63985 63984 POKE 53281,0:PRINT"{CLR,DOWN,GREY2,SPACE}DIESE TUER FUEHRT IN DEN WASSERGRABEN":GOTO 60310 63985 IF PR(PZ,PX,PY)>0 THEN10000 63986 IF PZ=1 THEN63989 63987 POKE 53281,0:PRINT"{CLR,GREY2,3DOWN,SPACE}DIE TUER FUEHRTE INS FREIE. SIE SIND" 63988 PRINT" AUS DEM ZWEITEN STOCK GESTUERZT":GOTO 60310 63989 IF TU$="O" THEN63992 63990 PX=4:PRINT"{4UP}SIE SIND GEGEN DIE TUER GELAUFEN":A$="":GOTO 31000 63992 PRINT"{CLR}","{GREY2,2DOWN,SPACE}SIE SIND IM FREIEN" 63994 IF HAAND 8 THEN40000 63995 POKE 53281,0:PRINT"{DOWN,SPACE}WEIL SIE DAS LAND NICHT BEFREIT HABEN," 63996 PRINT" HAT DIE WUETENDE MENGE SIE VERPRUEGELT":GOTO 60310
