home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 42 / 64er_Magazin_Sonderheft_42_19xx_Markt__Technik_de_Side_B.d64 / zauberschloss (.txt) < prev   
Commodore BASIC  |  2022-10-26  |  19KB  |  498 lines

  1. 0 print"[147]   bitte warten  -  ich lese daten      [146][144]":poke53280,12:poke53281,9
  2. 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
  3. 2 datafackel,speer,handschuh,krone,schluessel,knopf,buch,truhe,messer
  4. 3 datazaubertrank,schild,kobold,tarnkappe,zettel,gift
  5. 4 pokevc+21,0:ifru=0thendimpl(2,5,4),pr(2,5,4),di$(14)
  6. 5 fora=0to14:readdi$(a):next
  7. 10 data6,14,15,24
  8. 11 data64,5,3,140
  9. 12 data39,11,140,5
  10. 13 data1,18,271,41
  11. 20 data64,10,12,36
  12. 21 data1026,522,269,1
  13. 22 data6,142,11,12
  14. 23 data17,33,4,1
  15. 30 fora=1to2:forb=1to4:forc=1to4:readpr(a,b,c):next:next:next
  16. 50 data16384,512,0,1
  17. 51 data0,256,0,64
  18. 52 data0,0,128,2048
  19. 53 data2,4096,1024,0
  20. 60 data0,8192,0,0
  21. 61 data0,0,0,16
  22. 62 data0,0,2,0
  23. 63 data0,2048,4,32
  24. 70 fora=1to2:forb=1to4:forc=1to4:readpl(a,b,c):next:next:next
  25. 101 data,,,,,4,,,18,,,65,,,40,,2,36,,,82,,,168,,,152,,,32,,,48,,,48,,,48,,,48
  26. 102 data,,48,,,48,,,48,,,48,,,48,,,48,,,48
  27. 104 data16,,,16,,,18,,,255,76,64,19,95,64,18,63,128,16,21,,16,31,,16,17,,17,255
  28. 105 data192,63,255,254,63,255,254,19,255,254,19,255,246,19,255,246,19,255,246
  29. 106 data19,255,246,19,255,240,19,255,240,16,51,0,19,243,240
  30. 108 data8,,,6,,,31,,,54,,,104,,,96,,,192,,,192,,,192,,,192,42,0
  31. 109 data224,127,80,224,255,248,224,255,253,103,255,255,127,255,255,127,31,227
  32. 110 data126,239,221,63,247,253,31,247,221,15,97,184,7,126,191
  33. 112 data,126,,,62,,,126,,,63,,,127,,,63,,,127,,,63,,,126,,,62,0
  34. 113 data1,126,,11,252,,95,252,,255,248,0,255,248,0,255,240,0,255,224,0
  35. 114 data255,192,0,255,128,0,126,0,0,56,0,0
  36. 116 data0,0,0,3,128,0,15,224,0,30,120,0,62,254,0,127,255,135,255,255,253
  37. 117 data127,255,255,255,127,255,127,128,0,255,213,94,127,255,252,255,255,240
  38. 118 data127,248,0,255,192,0,127,0,0,255,0,0,126,0,0,254,0,0,126,0,0,254,,,
  39. 120 data,,255,,,126,,,66,,,66,,15,195,240,8,,16,8,60,16,8,126,16,8,153,16
  40. 121 data9,153,144,9,255,144,9,231,144,8,255,16,10,66,80,9,255,144,8,126,16
  41. 122 data8,36,16,8,195,16,11,,208,15,255,240,,,
  42. 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
  43. 126 data13,182,56,13,182,56,13,182,112,13,182,240,15,255,192,15,255,192
  44. 127 data15,255,128,7,255,128,7,255,0,3,255,0,3,255,0,3,255,0
  45. 130 data1,255,128,1,255,128,1,255,128,1,60,128,1,153,128,1,255,128,1,255,128
  46. 131 data12,189,48,6,189,96,2,219,64,2,102,64,3,126,192,1,60,128,1,189,128
  47. 132 data1,153,128,3,195,192,3,221,192,3,255,192,3,255,192,3,189,192,7,189,192
  48. 135 data7,189,224,7,189,224,7,60,224,7,126,224,7,126,224,7,126,224,4,255,32
  49. 136 data15,255,240,15,255,240,15,255,240,15,255,240,15,255,240,15,255,240
  50. 137 data31,255,248,31,255,248,31,255,248,31,255,248,62,221,124,48,221,12
  51. 138 data119,221,238,,,
  52. 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
  53. 141 data56,126,28,56,126,28,56,126,28,59,255,188,59,255,188,59,255,188
  54. 142 data59,255,188,63,255,252,63,255,252,63,255,252,63,255,252,63,255,252
  55. 143 data,,
  56. 150 data,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,,,13,248,,13,252,,63,254,1
  57. 151 data111,254,1,255,255,2,127,255,252,,,
  58. 155 data1,252,0,3,30,0,3,231,0,14,123,128,15,249,128,3,96,0,0,204,0
  59. 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
  60. 157 data0,31,0,0,255,0,0,255,0,0,56,0,3,184,0,3,248,0
  61. 160 data126,0,0,36,0,0,36,0,0,36,0,0,131,0,3,129,192,2,0,64,3,0,192
  62. 161 data3,255,192,3,253,192,3,127,192,3,239,192,3,255,192,3,251,192,3,255,192
  63. 162 data3,223,192,3,255,192,3,253,192,3,127,192,3,255,192,3,255,192
  64. 400 ifru=1then500
  65. 410 dimsp(13,63):fora=1to13:forb=1to63:readsp(a,b):next:next
  66. 500 print"[147]","  zauberschloss":print"     ein spiel von dennis merbach "
  67. 510 print"moechten sie ein n[146]eues spiel beginnen"
  68. 512 print,,"[157][157][157]a[146]ltes spiel fortsetzen"
  69. 520 geta$:ifa$="a"then55000
  70. 522 ifa$="n"then600
  71. 524 goto520
  72. 599 stop
  73. 600 printchr$(14)"[147] [197]in [193]dventure-[211]piel von [196]ennis [205]erbach"
  74. 610 print"  [218]iel des [211]piels ist es, eine [193]ufgabe,"
  75. 612 print"  die im [214]erlauf des [211]piels gestellt"
  76. 614 print"  wird, zu loesen.  [211]ie koennen dem"
  77. 616 print"  [195]omputer dazu [193]nweisungen eingeben,"
  78. 618 print"  die er dann ausfuehrt.  [196]iese [194]efehle"
  79. 620 print"  bestehen in der [210]egel aus zwei [215]orten,"
  80. 622 print"[145]  die durch eine [204]eerstelle getrennt "
  81. 624 print"  sein muessen. [198]olgende [203]ommandos,"
  82. 625 print"  gefolgt von einem [199]egenstand, werden"
  83. 626 print"  vom [195]omputer verstanden:"
  84. 628 print" [206][201][205][205][160][214][197][210][204][201][197][210][197][160][204][201][197][211][160][207][197][198][198][206][197][160][214][197][210][202][193][199][197][160][196][210][197][200][160][160][194][197][206][213][212][218][197][160][212][210][201][206][203] [196][210][213][197][195][203][197]"
  85. 629 rem zeile628: nimm verliere lies oeffne verjage dreh benutze trink druecke
  86. 630 print,"   weiter?"
  87. 631 geta$:ifa$=""then631
  88. 632 print"[147]  [194]ei [210]ichtungsangaben werden nur die"
  89. 634 print"  [193]nfangsbuchstaben eingegeben:"
  90. 636 print"  [206]=[206]ord [211]=[211]ued [215]=[215]est [207]=[207]st":print"  [200]=[200]och [210]=[210]unter"
  91. 637 print,,," [206]":print,,,"[215][219][207]":print,,," [211]"
  92. 638 rem 637 print,,," n":print,,,"w[219]o":print,,," s"
  93. 640 print"  [206]ach dem [194]efehl [204][201][211][212] werden alle":rem list
  94. 641 print"  [196]inge aufgelistet,die man bei sich"
  95. 642 print"  hat. [214]orsicht: [211]ie koennen immer nur"
  96. 644 print"  4 [199]egenstaende auf einmal tragen."
  97. 646 print"  [205]it [211][193][214][197] wird das [211]piel fuer spaeteres  weiterspielen gespeichert"
  98. 647 rem  save
  99. 650 print"      [198]ertig?"
  100. 652 geta$:ifa$=""then652
  101. 653 printchr$(142):poke649,9:ti$="000000"
  102. 1000 poke53281,9:print"[147]":fora=0to23step7:print"":gosub1500:next
  103. 1010 ifx=0andy=0andri=0thenprint,,,"[145][157][157][157][157][213][201][157][157][202][203][145]":print"  ring"
  104. 1100 print"richtungen: n-w-s-o-h";:input"  kommando";ko$
  105. 1110 ifko$="n"thenx=x+1
  106. 1112 ifko$="s"thenx=x-1
  107. 1114 ifko$="w"theny=y+1
  108. 1118 ifko$="o"theny=y-1
  109. 1120 ifko$="nimm ring"thenri=1
  110. 1122 ifko$="dreh ring"andri=1then2000
  111. 1124 ifko$="h"then1400
  112. 1126 ifko$="save"orko$="s[193]"thenprint"noch nicht moeglich":fora=1to1000:next
  113. 1127 ifko$="stop"orko$="s[212]"thenstop
  114. 1129 ifko$="list"orko$="l[201]"then3000
  115. 1130 goto1000
  116. 1400 poke53281,0:print"[147][152]      sie sind beim klettern "
  117. 1401 print"       vom baum gefallen":goto60310
  118. 1499 stop
  119. 1500 printtab(a)"[206][205]"
  120. 1501 printtab(a)"[206][206][205][205]"
  121. 1502 printtab(a)"[206][206][205][205]"
  122. 1503 printtab(a)"[206][206]  [205][205]"
  123. 1504 printtab(a)"[206] [206][205] [205]"
  124. 1505 printtab(a)"[206] [206][206][205][205] [205]"
  125. 1506 printtab(a)"[206][206][206]  [205][205][205]"
  126. 1507 printtab(a)"[206][206][206] [206][205] [205][205][205]"
  127. 1508 printtab(a)"[206][206][206][206]  [205][205][205][205]"
  128. 1509 printtab(a)"[206] [206][206] [206][205] [205][205] [205]"
  129. 1510 printtab(a)"[206][206] [206]  [205] [205][205]"
  130. 1511 printtab(a)"[206][206][206][206] [206][205] [205][205][205][205]"
  131. 1512 printtab(a)"[206] [206][206][206][206][206][205][205][205][205][205] [205]"
  132. 1513 printtab(a)"[206][206][206] [206][206]  [205][205] [205][205][205]"
  133. 1514 printtab(a)"[206][206] [206][206][206][160][206][205][160][205][205][205][160][205][205]"
  134. 1515 printtab(a)"[206][206][206] [206][206][206][160][160][205][205][205][160][205][205][205]"
  135. 1516 printtab(a)"[206][206] [206][206][206] [206][206][205][205][160][205][205][205][160][205][205]"
  136. 1517 printtab(a)"[206][206][206][206][160][206][206][206][206][205][205][205][205][160][205][205][205][205]"
  137. 1518 printtab(a)"[144]  "
  138. 1519 printtab(a)"[169]  [223]"
  139. 1520 return
  140. 2000 print"[147]   der ring hat sich aufgeloest"
  141. 2010 print"  alles um sie beginnt sich zu drehen"
  142. 2020 fora=1to2000:next:print"[147]"
  143. 2030 fora=1to100:forb=1to101-a:next:poke53281,int(rnd(1)*256):next:xy=4
  144. 2040 goto10000
  145. 3000 ifri=0thenprint"[147]     sie haben nichts":fora=1to2000:next:goto1000
  146. 3010 print"[147]   sie haben einen ring":fora=1to2000:next:goto1000
  147. 10000 poke53281,9:pokevc+17,peek(vc+17)and239
  148. 10005 print"[147]":pokevc+21,0:fora=2to5:printtab(a)"[144][205]"spc(35-2*a)"[206]":next
  149. 10010 print"      [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  150. 10020 fora=1to8:print"      [180]"spc(23)"[170]":next
  151. 10030 print"      [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186]":ri$=""
  152. 10040 fora=5to2step-1:printtab(a)"[206]"spc(35-2*a)"[205]":next
  153. 10050 p1=pr(pz,px,py):if(p1and1)<>1then10060
  154. 10051 print"","     [175][175][175][175][175][175][175]":print,"    [170][205][175][175][175][175][175][206][180]"
  155. 10053 fora=1to6:print,"[170][170]     [180][180]":next:print,"[186][206]     [205][204]"
  156. 10054 ri$="-n":poke214,10:print:print,"[175][175][175][175][175]"
  157. 10060 if(p1and8)<>8then10070
  158. 10061 print" [170][205] ":print" [170] [205]":ri$=ri$+"-w"
  159. 10062 print" [170][183][208]":fora=1to9:print" [170] [170]":next
  160. 10063 print" [170][175][186]":print" [170]   ":print" [170] ":print" [206]":ifkk=1thenkk=0:goto30000
  161. 10070 if(p1and2)<>2then10080
  162. 10071 print"",,,"[206][180]":print,,,"[206] [180]":ri$=ri$+"-o"
  163. 10072 print,,,"[207][183][180]":fora=1to9:print,,,"[180] [180]":next:print,,,"  [205][204][175][180]"
  164. 10073 print,,,"     [180]":print,,,"     [180][157][205]"
  165. 10080 if(p1and4)=4thenri$=ri$+"-s"
  166. 10081 if(p1and16)<>16then10090
  167. 10082 print"":print,,"[157][157][175][175][175][175][175][175][175][175]":print,,"[157][157][205][205][221][175][175][221][206][206]":ri$=ri$+"-h"
  168. 10083 print,,"[157][205][171][195][195][179][206]":fora=1to7:print,,"[221][221]":print,,"[171][195][195][179]":next
  169. 10090 if(p1and32)<>32then10100
  170. 10091 poke214,15:print:print,," [204][175][186]":print,," [204][175][186]":print,,"[206][180] [170][205]":ri$=ri$+"-r"
  171. 10092 print,,"[157][206][206][207][183][208][205][205]":print,,"[157][183][183][183][183][183][183][183]"
  172. 10100 p=pl(pz,px,py):if(pand2048)=0then10120
  173. 10101 if(haand2)=0then10120
  174. 10103 ha=ha-2:ko=2:hb=hb-1
  175. 10105 poke214,18:print:print" der kobold hat ihren speer gestohlen"
  176. 10120 if(pand2)=2thenpoke214,14:print:print,"_[195][195][195][195][195][195][195]"
  177. 10130 if(pand16)=16thenpoke214,16:print:print,,"[157][157][157][157][157]o[195][178]"
  178. 10140 if(pand64)<>64then10150
  179. 10141 poke214,15:print:print," [175][175][175][175]":print,"[206]   [206]":print,"[157][206]   [206][206]"
  180. 10142 print,"[157][157][206][175][175][175][206][206]":print,"[157][157][157][182] ==([206]":print,"[157][157][183][183][183][183]"
  181. 10150 if(pand256)=256thenpoke214,17:print:print,,"   [172][164][164][164]":print,,"    [146][164][164][164]>":print,,"   [188]"
  182. 10160 if(pand1)<>1then10170
  183. 10161 fora=1to63:poke831+a,sp(1,a):next:pokevc,255:pokevc+1,100
  184. 10162 poke2040,13:pokevc+37,2:pokevc+38,0:pokevc+39,7:pokevc+21,peek(vc+21)or1
  185. 10163 pokevc+28,peek(vc+28)or1
  186. 10170 if(p1and64)<>64then10180
  187. 10171 print"[147][152]sie sind in eine fallgrube gelaufen"
  188. 10172 poke53281,0:goto60310
  189. 10180 if(p1and128)<>128and(p1and256)<>256then10200
  190. 10181 fora=1to63:poke895+a,sp(2,a):next:poke2041,14:pokevc+40,0:pokevc+2,100
  191. 10182 pokevc+3,138:pokevc+21,peek(vc+21)or2:pokevc+23,2:pokevc+29,2:w=1
  192. 10183 pokevc+28,peek(vc+28)and243:if(p1and256)<>256then10200
  193. 10184 pokevc+41,0:pokevc+23,6:pokevc+29,6:pokevc+4,200:pokevc+5,138:poke2042,14
  194. 10185 pokevc+21,peek(vc+21)or4
  195. 10200 if(pand1024)<>1024then10210
  196. 10201 print"[207][183][208]":print"[180][160][170]":print"[180]#[170]"
  197. 10202 print"[180] [170]":print"[205] [206]":print" [183]"
  198. 10210 if(pand8192)<>0thenpoke214,18:print:print," [144]"
  199. 10220 if(pand128)<>128then10230
  200. 10221 poke214,11:print:print,,"[164][164][164][164]":print,,"[206]   [206][165]"
  201. 10222 print,,"[207][183][183][208] [204]"
  202. 10223 print,,"[165]  [170][206]":print,,"[163][163][163][163]"
  203. 10230 if(p1and512)<>512then10300
  204. 10231 if(pand16384)=16384then60400
  205. 10232 fora=3to5:forb=1to63:poke831+64*(a-3)+b,sp(a,b):next:next:pokevc+28,0
  206. 10235 poke2040,13:poke2041,14:poke2042,15:pokevc+39,5:pokevc+40,5:pokevc+41,5
  207. 10237 pokevc+21,7
  208. 10239 pokevc+23,7:pokevc+29,7:pokevc,100:pokevc+1,155:pokevc+2,148:pokevc+3,155
  209. 10241 pokevc+4,164:pokevc+5,113:f1=2:f2=7
  210. 10250 pokevc+17,peek(vc+17)or16:fora=1to25:poke53281,f1:poke53281,f2:forb=1to60
  211. 10251 next:mf=f1:f1=f2:f2=mf:next:poke53281,9
  212. 10260 if(haand1024)=1024then10270
  213. 10265 goto60330
  214. 10270 dr=1:ifdr=2and(pand16384)<>16384then60300
  215. 10300 if(haand64)=64thenbu=bu+1:ifbu=5then60000
  216. 10350 if(pand16384)=0then10400
  217. 10355 fora=0to63:pokea+960,sp(6,a):next:poke2044,15:pokevc+21,peek(vc+21)or16
  218. 10360 pokevc+43,1:pokevc+8,100:pokevc+9,170
  219. 10400 if(haand16384)=16384and(haand4)<>4then60040
  220. 10410 if(p1and256)=256and(pand128)=128then60050
  221. 10420 if(haand1)=1and(haand64)=64then60070
  222. 10430 if(pand4)=0then10450
  223. 10435 fora=0to63:pokea+896,sp(7,a):next:pokevc+21,peek(vc+21)or2:poke2041,14
  224. 10437 pokevc+40,13:pokevc+2,200:pokevc+3,200:pokevc+29,peek(vc+29)and253
  225. 10439 pokevc+23,peek(vc+23)and253
  226. 10450 if(p1and1024)=0then10500
  227. 10455 n=831:fora=8to10:forb=0to63:n=n+1:poken,sp(a,b):next:next
  228. 10457 pokevc+21,7:pokevc+39,0:pokevc+40,0:pokevc+41,7
  229. 10459 pokevc+4,162:pokevc+5,83:pokevc+2,150:pokevc+3,143:pokevc,150:pokevc+1,103
  230. 10461 pokevc+23,3:pokevc+29,3:poke2040,13:poke2041,14:poke2042,15
  231. 10500 if(pand8)=0then10550
  232. 10502 fora=0to63:pokea+960,sp(10,a):next:pokevc+21,peek(vc+21)or4:poke2042,15
  233. 10504 pokevc+4,150:pokevc+5,170
  234. 10550 if(pand2048)=0then10600
  235. 10555 fora=0to63:poke896+a,sp(12,a):next:poke2041,14:pokevc+40,0
  236. 10557 pokevc+21,peek(vc+21)+2:pokevc+2,250:pokevc+3,180
  237. 10559 pokevc+23,peek(vc+23)and253:pokevc+29,peek(vc+29)and253
  238. 10600 if(pand4096)=0then10650
  239. 10610 poke214,18:print:print,"[213][195][201]":print,"[188][184][190]"
  240. 10650 ifpand32thenpoke214,10:print:print,"[215]"
  241. 10700 if(pand512)=0then10800
  242. 10710 fora=1to63:poke702+a,sp(13,a):next:poke2047,11
  243. 10715 pokevc+21,peek(vc+21)or128:pokevc+46,4
  244. 10717 pokevc+14,60:pokevc+15,170
  245. 10800 :
  246. 20000 :
  247. 21000 he=he+1:if(haand1)=1or(pand1)=1thenpoke53281,9:print"[144]":goto21100
  248. 21005 ifhe>9thenpoke53281,0:print"[152][145]  es ist dunkel":goto21100
  249. 21010 ifhe>7thenprint,,"[145]  es wird dunkel"
  250. 21100 ifw=1thenwz=wz+1:ifwz=2then60100
  251. 21110 ifdr=1thendz=dz+1:ifdz=2then60300
  252. 21120 ifbe=0then21130
  253. 21125 be=0:w=0:wz=0:ha=ha-4096:hb=hb-1:print"[145]die tarnkappe hat sich aufgeloest"
  254. 21130 ifhaand32thenkn=1
  255. 22000 poke214,20:print:fora=0to14:if(pand(2^a))<>0thenprintdi$(a)" ";
  256. 22010 next
  257. 30000 pokevc+17,peek(vc+17)or16:poke214,21:print:ko$="":a$=" nicht moeglich![145]"
  258. 30001 print"  richtungen: ";mid$(ri$,2):input"   komando";ko$
  259. 30002 ifko$="save"orko$="s[193]"then50000
  260. 30003 ifp1and1024then60500
  261. 30004 ifleft$(ko$,3)="sim"orleft$(ko$,3)="abr"then60590
  262. 30006 if(ko$="nimm kobold"orko$="verjage kobold")andpand2048then60600
  263. 30008 if(haand4096)=4096andko$="benutze tarnkappe"thenbe=1:a$="   in ordnung[145]"
  264. 30009 ifko$="druecke knopf"andkn=0then60610
  265. 30010 ifko$="n"and(pr(pz,px,py)and1)=1thenpx=px-1:goto63970
  266. 30020 ifko$="o"and(pr(pz,px,py)and2)=2thenpy=py+1:goto63970
  267. 30030 ifko$="s"and(pr(pz,px,py)and4)=4thenpx=px+1:goto63970
  268. 30040 ifko$="w"and(pr(pz,px,py)and8)=8thenpy=py-1:goto63970
  269. 30050 ifko$="h"and(pr(pz,px,py)and16)=16thenpz=pz+1:goto63970
  270. 30060 ifko$="r"and(pr(pz,px,py)and32)=32thenpz=pz-1:goto63970
  271. 30065 ifko$="list"orko$="l[201]"then60010
  272. 30070 ifleft$(ko$,4)<>"nimm"then30200
  273. 30080 ifhb=xythenprint"[145][145][145]   sie koennen nicht soviel tragen":a$="":goto31000
  274. 30100 fora=0to14:if(mid$(ko$,6)<>di$(a))or(pand2^a)<>2^athennext:goto30150
  275. 30110 hb=hb+1:ha=haor2^a:pl(pz,px,py)=p-2^a:ne=1:next
  276. 30150 ifne=1thenne=0:goto10000
  277. 30160 goto31000
  278. 30200 ifleft$(ko$,8)<>"verliere"then30300
  279. 30210 fora=0to14:if(mid$(ko$,10)<>di$(a))or(haand2^a)<>2^athennext:goto30230
  280. 30220 hb=hb-1:ha=ha-2^a:pl(pz,px,py)=por2^a:ne=1:next
  281. 30230 ifne=1thenne=0:goto10000
  282. 30240 goto31000
  283. 30300 ifleft$(ko$,6)<>"oeffne"then30400
  284. 30310 ifmid$(ko$,8,4)<>"buch"or(haand64)<>64then30330
  285. 30320 bu$="o":print,"    das buch ist offen":a$="":goto31000
  286. 30330 ifright$(ko$,4)<>"tuer"then30340
  287. 30335 if(haand16)<>16thenprint"[145][145][145] die tuer ist verschlossen":a$="":goto31000
  288. 30336 tu$="o":a$="[145][145][145][145] die tuer ist offen             ":goto31000
  289. 30340 ifright$(ko$,5)<>"truhe"or(haand128)<>128then31000
  290. 30345 print" die truhe ist offen, sie enthaelt gold":goto30000
  291. 30400 ifko$<>"lies buch"then30450
  292. 30410 ifbu$=""thenprint"[147]das zauberschloss":goto30000
  293. 30420 goto63900
  294. 30450 ifko$="lies zettel"and(haand8192)=8192then60200
  295. 30500 ifleft$(ko$,13)<>"verjage wache"andko$<>"verjage waechter"then30550
  296. 30510 input"womit";di$:ifdi$<>di$(1)or(haand2)<>2then60100
  297. 30520 ifp1and128thenpr(pz,px,py)=p1-128:wz=0:w=0:goto10000
  298. 30550 ifleft$(ko$,5)<>"trink"then30700
  299. 30555 ifright$(ko$,4)="gift"and(haand16384)=16384then60040
  300. 30556 if(haand512)=0orright$(ko$,11)<>"zaubertrank"then30700
  301. 30557 hb=hb-1:ha=ha-512
  302. 30558 ifxy=2thenxy=4:print" sie sind wieder gross":a$="":goto31000
  303. 30560 print" sie sind ein zwerg!":hb=0:pl(pz,px,py)=porha:ha=0:xy=2
  304. 30565 fora=1to2000:next:goto10000
  305. 30700 :
  306. 31000 ifko$="stop"orko$="s[212]"thenpoke650,0:stop
  307. 31010 printa$:fora=1to1000:next
  308. 31020 poke214,21:print;:print:fora=1to3
  309. 31025 print"                                       ":next:goto30000
  310. 40000 fora=1to1000:next:t$=ti$:poke53281,11:print"[147]"
  311. 40001 print,"[144] [169][223]",,"[157][169][223]":print,"[169]  [223]"spc(14)"[169]  [223]"
  312. 40005 print,"[161]  [182]"spc(14)"[161]  [182]"
  313. 40006 print,"[161][182][181][182]"spc(14)"[161][182][181][182]"
  314. 40007 print,"[161][182][181][182]"spc(14)"[161][182][181][182]"
  315. 40010 print,"[161]  [182][146][172][187][172][187][172][187][172][187][172][187][172][187][172][187][161]  [182]"
  316. 40015 print,"[161]  [188][190][188][190][188][190][188][190][188][190][188][190][188][190][188][190]  [182]"
  317. 40020 print,"[161]                    [182]"
  318. 40022 print,"[161]                    [182]"
  319. 40024 print,"[161]         [162]          [182]"
  320. 40026 print,"[161]        [182][161]         [182]"
  321. 40028 print,"[161]        [182][161]         [182]"
  322. 40030 print,"[161]        [182][161]         [182]"
  323. 40050 fora=1to1000:next:fora=1to20:poke53281,7:poke53281,0:poke53281,2:next
  324. 40055 poke53281,11
  325. 40100 fora=1to1000:pokeint(rnd(1)*560+1260),102:next
  326. 40110 fora=1to1200:pokeint(rnd(1)*560+1260),32:next:poke53281,11:fora=1to500
  327. 40120 next:poke53281,5:print"[147]das schloss hat sich in rauch aufgeloest"
  328. 40125 print"  sie sind der neue koenig"
  329. 40130 print,"zeit: "left$(t$,2)":"mid$(t$,3,2)":"mid$(t$,5):end
  330. 45000 rem *** sub schriftloeschen ***
  331. 50000 pokevc+21,0:input"[147]    filename";n$
  332. 50009 print"   k[146]assette  oder  d[146]iskette?"
  333. 50010 getk$:ifk$="d"then51000
  334. 50020 ifk$="k"then52000
  335. 50025 goto50010
  336. 51000 open2,8,2,n$+",s,w":open15,8,15:input#15,a,a$:ifa$<>"ok"then59000
  337. 51001 rem *****************************           zeile 51000 nur fuer diskette
  338. 51100 forz=1to2:forx=1to4:fory=1to4:print#2,pl(z,x,y)
  339. 51101 print#2,pr(z,x,y):next:next:next
  340. 51110 print#2,ha:print#2,hb:print#2,ti$:print#2,pz:print#2,px:print#2,py
  341. 51115 print#2,ko:print#2,w:print#2,wz:print#2,dr:print#2,dz:print#2,bu
  342. 51120 print#2,be:print#2,he:print#2,bu$:print#2,tu$:print#2,kn:print#2,xy
  343. 51200 close2:close15:goto10000
  344. 52000 open2,1,2,a$:goto51100
  345. 55000 input"        filename";n$
  346. 55005 print"       k[146]assette oder d[146]iskette?"
  347. 55010 geta$:ifa$="d"then56000
  348. 55012 ifa$="k"then57000
  349. 55014 goto55010
  350. 56000 open2,8,2,n$+",s,r":goto58000
  351. 56001 rem *****************************           zeile 56000 nur fuer diskette
  352. 56100 forz=1to2:forx=1to4:fory=1to4:input#2,pl(z,x,y)
  353. 56101 input#2,pr(z,x,y):next:next:next
  354. 56110 input#2,ha,hb,ti$,pz,px,py
  355. 56111 input#2,ko,w,wz,dr,dz,bu
  356. 56112 input#2,be,he,bu,tu$,kn,xy
  357. 56120 close2:close15:goto10000
  358. 57000 open2,1,0,n$:goto56100
  359. 57999 rem *****************************           58000-59999 nur fuer diskette
  360. 58000 open15,8,15:input#15,a,a$:ifa$="ok"then56100
  361. 58010 ifa$="file not found"then58100
  362. 58020 ifa$="drive not ready"then58111
  363. 58030 ifa$="file type mismatch"then58120
  364. 58050 printa$:end
  365. 58100 print" ein file dieses namens existiert nicht"
  366. 58110 input"         filename";n$:goto58200
  367. 58111 print"    diskette einlegen!":print,"   fertig?"
  368. 58112 getx$:ifx$=""then58112
  369. 58113 goto58110
  370. 58120 print"     kein daten-file!":goto58110
  371. 58158 printa$:stop
  372. 58200 close2:close15:goto56000
  373. 59000 close2:close15:ifa$="write protect on"then59100
  374. 59010 ifa$="drive not ready"then59200
  375. 59030 ifa$="file exists"then59300
  376. 59040 ifa$="file type mismatch"then59400
  377. 59050 printa$:stop
  378. 59060 goto50000
  379. 59100 print" diese diskette ist schreib-geschuetzt"
  380. 59110 print" bitte eine andere diskette einlegen":print,"fertig?"
  381. 59120 getx$:ifx$=""then59120
  382. 59130 goto51000
  383. 59200 print"    diskette einlegen!":print," fertig?":goto59120
  384. 59300 print"ein file dieses namens existiert bereits"
  385. 59310 print" soll es ueberschrieben werden (j/n)?"
  386. 59320 getx$:ifx$="j"thenn$="@0:"+n$:goto51000
  387. 59330 ifx$="n"then50000
  388. 59340 goto59320
  389. 59400 print" dieser name ist von einem anderen"," file-typ belegt"
  390. 59410 fora=1to2000:next:goto50000
  391. 59999 rem *****************************
  392. 60000 poke53281,0:print"[152][147]das magische buch ist in flammen","aufgegangen"
  393. 60001 print"leider haben sie dabei ebenfalls feuer","gefangen":goto60310
  394. 60010 print"[147]","sie haben:":pokevc+21,0
  395. 60020 fora=0to14:ifhaand2^athenprint,di$(a)""
  396. 60021 next:print," fertig?"
  397. 60025 ifpeek(203)=64then60025
  398. 60030 geta$:goto30000
  399. 60040 poke53281,0:print"[147][152] sie haben sich vergiftet"
  400. 60041 goto60310
  401. 60050 print"  die waechter haben sich um das gold"
  402. 60055 print" gestritten und sich dabei erschlagen":pokevc+21,0
  403. 60060 w=0:wz=0:pr(pz,px,py)=p1-256:goto10050
  404. 60070 print" die fackel hat das buch verbrannt":ha=ha-64:hb=hb-1:goto10430
  405. 60100 ifdi$="messer"and(haand256)=256then60120
  406. 60101 ifdi$="gift"and(haand16384)=16384then60125
  407. 60105 print"[147][152]  die wache hat sie gefangen"
  408. 60106 ifp1and256thenprint"[147][152]  die zweite wache hat sie gefangen"
  409. 60108 ifbe=1then10000
  410. 60110 poke53281,0:goto60310
  411. 60120 print"[147][152]  die hellebarde der wache ist laenger","  als ihr messer"
  412. 60122 goto60310
  413. 60125 print"[147][152]  die wache wollte das gift nicht essen"
  414. 60126 print"  und hat sie gefangen":goto60310
  415. 60200 poke53281,15:ifhe>9and(pand1)=0and(haand1)=0thenpoke53281,0
  416. 60201 pokevc+21,0:print"[147][144]      [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  417. 60202 print"      [180]"spc(24)"[170]"
  418. 60204 print"      [180] [176][192][178][195][178] [178][192][174]   [176][192][178][192][178][192][178][192][174]  [170]"
  419. 60206 print"      [180] [221]       [221]   [221]     [221] [221]  [170]"
  420. 60208 print"      [180] [171] [219] [219] [219][195][179]   [171][192][219][192][219] [219] [179]  [170]"
  421. 60210 print"      [180] [221] [221] [221]   [221]   [221]     [221] [221]  [170]"
  422. 60212 print"      [180] [171][192][219] [219][192][219] [179]   [171][192][219][192][219] [219][195][179]  [170]"
  423. 60214 print"      [180] [221]     [221] [221]   [221]       [221]  [170]"
  424. 60215 print"      [180] [171] [219][195][219] [219] [179]   [171] [219] [219][195][219] [179]  [170]"
  425. 60216 print"      [180] [221] [221]     [221]   [221] [221] [221] [206] [221]  [170]"
  426. 60217 print"      [180] [173][192][177][192][177] [177][192][189]   [173][192][177][192][177] [177][192][189]  [170]"
  427. 60218 print"      [180]"spc(24)"[170]":print"      [204][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][186]"
  428. 60220 fora=1to3000:next:print"[147]  der plan hat sich in luft aufgeloest"
  429. 60222 ha=ha-8192:hb=hb-1:fora=1to2000:next:goto10000
  430. 60300 poke53281,0:print"[147][152]  der drache hat sie gefressen"
  431. 60310 pokevc+21,0:pokevc+17,peek(vc+17)or16:poke650,0
  432. 60315 print,"zeit:"left$(ti$,2)":"mid$(ti$,3,2)":"mid$(ti$,5)
  433. 60320 print" noch ein versuch (j/n)?"
  434. 60325 geta$:ifa$="j"thenru=1:goto0
  435. 60326 ifa$="n"thenpoke650,0:end
  436. 60327 goto60325
  437. 60330 poke53281,0:print"[147][152] der feuerspeiende drache hat sie         getoetet"
  438. 60331 goto60310
  439. 60400 print" der drache hat das gift gefressen"," und sich in luft aufgeloest"
  440. 60410 p=p-16384:p1=p1-512:pr(pz,px,py)=p1:pl(pz,px,py)=p:pokevc+21,0
  441. 60411 dr=0:goto10230
  442. 60500 ifko$="simsalakadabra-abrakabum"then60550
  443. 60510 poke53281,0:pokevc+21,0
  444. 60512 print"[147][152]  der zauberer hat sie in eine maus","   verwandelt":goto60310
  445. 60550 fora=0to127step3:poke832+a,0:poke833+a,0:poke834+a,0:pokevc+5,peek(vc+5)+2
  446. 60552 next:pokevc+21,4:fora=0to63:poke832+a,sp(11,a):next
  447. 60553 pokevc+23,0:pokevc+29,0
  448. 60554 pokevc+1,170:pokevc+21,5:p1=p1-1024:pr(pz,px,py)=p1:p=p+8:pm=170
  449. 60556 pl(pz,px,py)=p:fora=150to0step-.5:pokevc,a:pm=pm+.1:pokevc+1,pm:next
  450. 60558 fora=1to2000:next:goto10000
  451. 60590 poke53281,0:print"[147][152] sie haben sich in eine maus verwandelt":goto60310
  452. 60600 a1$="mitnehmen":ifleft$(ko$,7)="verjage"thena1$="verjagen"
  453. 60601 print"[147][152] der kobold wollte sich nicht ";a1$
  454. 60602 print" lassen und hat sie in einen zwerg ver-","zaubert":hb=0
  455. 60604 fora=1to2000:next:pl(pz,px,py)=pl(pz,px,py)orha:ha=0:xy=2:goto10000
  456. 60610 pr(pz,px,py-1)=pr(pz,px,py-1)or2:p1=p1or8:pr(pz,px,py)=p1:kn=1
  457. 60612 pl(pz,px,py)=p-32:print"[145][145][145][145][145]";
  458. 60614 fora=1to5:print"                                      ":next
  459. 60616 poke214,10:print:print," ":goto10060
  460. 63900 poke53281,12:pokevc+21,0:print"[147]"chr$(14),"[196]as [218]auberschloss"
  461. 63901 ifhe>9and(pand1)=0and(haand1)=0thenpoke53281,0
  462. 63905 print"[144][211]eit langer, langer [218]eit ist es [211]itte,"
  463. 63910 print"[145] dass der, der die [203]rone des [210]eiches "
  464. 63915 print" besitzt, das ganze [204]and regiert."
  465. 63920 print" [196]och seit vielen hundert [202]ahren re-"
  466. 63921 print" giert der schreckliche [218]auberer, und"
  467. 63923 print"  keiner von denen, die ihm die [203]rone "
  468. 63926 print" wieder entreissen wollten ist je"
  469. 63930 print" wieder zurueckgekehrt.",," [196]as [211]chloss ist streng bewacht,"
  470. 63931 print" und die [199]emeinheit der [215]aechter wird"
  471. 63932 print" nur von ihrer [199]eldgier uebertroffen."
  472. 63933 print" ueberall lauern [198]allen und vielerlei"," gefahren."
  473. 63936 print,"[157][157][157][211]imsalakadabra-abrakabum"
  474. 63940 print,"[198]ertig?"
  475. 63950 getx$:ifx$=""then63950
  476. 63955 poke53281,9:printchr$(142):goto10000
  477. 63970 ifpz>0then63980
  478. 63971 poke53281,0:print"[152][147]die wache freut sich, dass sie von"
  479. 63972 print"   selbst in den kerker gegangen sind"
  480. 63973 print"  schade, dass sie nun bis zum ende"
  481. 63974 print"  ihres lebens dort bleiben muessen "
  482. 63975 print"  und nicht mehr weiter spielen koennen":goto60310
  483. 63980 ifpz<3then63983
  484. 63981 poke53281,0:print"[152][147] sie sind auf das dach geklettert,"
  485. 63982 print" abgerutscht,in den graben gefallen":print" und ertrunken":goto60310
  486. 63983 ifpx<>0then63985
  487. 63984 poke53281,0:print"[147][152] diese tuer fuehrt in den wassergraben":goto60310
  488. 63985 ifpr(pz,px,py)>0then10000
  489. 63986 ifpz=1then63989
  490. 63987 poke53281,0:print"[147][152] die tuer fuehrte ins freie. sie sind"
  491. 63988 print" aus dem zweiten stock gestuerzt":goto60310
  492. 63989 iftu$="o"then63992
  493. 63990 px=4:print"[145][145][145][145]sie sind gegen die tuer gelaufen":a$="":goto31000
  494. 63992 print"[147]","[152] sie sind im freien"
  495. 63994 ifhaand8then40000
  496. 63995 poke53281,0:print" weil sie das land nicht befreit haben,"
  497. 63996 print" hat die wuetende menge sie verpruegelt":goto60310
  498.