home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 52 / 64er_Magazin_Sonderheft_52_19xx_Markt__Technik_de_Side_A.d64 / mario (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  29KB  |  869 lines

  1. 100 rem *** mario - ein adventure fuer den commodore 64 ***
  2. 110 rem by harald bornfleth & herbert grosser
  3. 120 print"[147]           einen moment bitte           ";
  4. 130 printchr$(8): iflv=0thenlv=1:load"scr/1",8,1
  5. 140 sys49152:dim a(23,63),a$(10),c(6,12),d(6,12),e(6,12):vi=53248:x=-2:y=3
  6. 150 gosub 4510
  7. 160 print"           einen moment bitte           ";
  8. 170 ifm7>0then1220
  9. 180 forlv=1to54:reada(23,lv):next
  10. 190 data,127,2,,255,2,,255,2,1,231,2,1,231,130,1,227,194,1,227,194,3,195,194,3
  11. 200 data195,194,3,193,228,3,193,226,3,193,226,7,129,225,7,128,241,7,128,241
  12. 210 data7,128,241,15,,121,15,,121
  13. 220 forlv=1to63:reada(0,lv):next
  14. 230 data,62,,,127,,,107,,,62,,,62,,,28,,1,255,128,3,255,192,7,255,224,6,127,96,6
  15. 240 data126,96,6,126,96,6,126,96,6,126,96,6,126,96,6,126,96,6,126,96,6,126,96
  16. 250 data255,126,248,6,126,100,,126,4
  17. 260 for lv=1to49:reada(1,lv):next
  18. 270 data0,0,1,0,0,3,0,0,3,0,0,7,0,0,7,0,4,15,0,14,15,0,14,31,0,31,31,0,31,63
  19. 280 data0,63,191,8,63,255,28,127,255,60,127,255,62,255,255,126,255,255,127
  20. 290 forlv=50to63
  21. 300 a(1,lv)=255
  22. 310 next
  23. 320 forlv=1to30:reada(2,lv):next
  24. 330 data128,0,3,192,0,7,224,0,15,240,0,15,248,0,31,252,4,63,254,14,63,255,15
  25. 340 data127,255,159,255,255,223,255
  26. 350 forlv=31 to63:a(2,lv)=255:next
  27. 360 forlv=28to54:reada(3,lv):next
  28. 370 data0,126,0,3,255,192,7,255,224,15,255,240,31,255,248,63,255,252,127,255
  29. 380 data254,127,255,254,127,255,254
  30. 390 forlv=55to63:a(3,lv)=255:next
  31. 400 forlv=46to63:reada(4,lv):next
  32. 410 data0,224,0,1,252,0,1,255,0,1,255,128,1,255,128,1,255,128
  33. 420 forlv=46to63:reada(5,lv):next
  34. 430 data0,7,0,0,63,128,0,255,128,1,255,128,1,255,128,1,255,128
  35. 440 forlv=10to63:reada(6,lv):next
  36. 450 data0,60,0,1,255,128,3,60,192,6,219,96,14,219,112,15,60,240,31,255,248
  37. 460 data35,255,196,66,36,66,132,66,33,136,66,17,136,129,17,144,129,9,144,129,9
  38. 470 data144,129,9,144,129,9,144,129,9,144,129,9
  39. 480 forlv=1to63:reada(7,lv):next
  40. 490 data8,28,8,8,62,28,8,127,62,8,42,8,8,62,8,8,34,8,8,62,8,28,28,8,31,255,252
  41. 500 data31,255,252,8,127,8,,127,8,,127,8,,127,8,,127,8,,119,8,,99,8,,99,8,,99,8
  42. 510 data,99,8,3,227,232
  43. 520 for lv=19to48:reada(8,lv):next
  44. 530 data3,231,192,7,255,224,15,255,240,31,255,248,63,255,252,127,255,254,253
  45. 540 data255,191,121,255,159,49,255,142,1,255,232
  46. 550 for lv=49 to 63step3:a(8,lv)=1:a(8,lv+1)=255:a(8,lv+2)=128:next
  47. 560 forlv=29to63:reada(9,lv):next
  48. 570 data6,0,0,6,0,0,15,0,9,47,128,15,127,140,31,255,142,31,255,30,63,255,190
  49. 580 data63,255,255,127,255,254,127,255,255,255,255,255
  50. 590 forlv=34to63:reada(10,lv):next
  51. 600 data4,130,0,15,198,12,15,215,14,31,223,158,31,255,190,63,255,190,63,255,255
  52. 610 data127,255,255,127,255,255,255,255,255
  53. 620 forlv=28to63:reada(11,lv):next
  54. 630 data2,0,0,7,64,0,15,224,0,31,225,0,31,227,16,31,243,24,63,247,188,63,255
  55. 640 data188,63,255,254,127,255,254,127,255,255,255,255,255
  56. 650 forlv=22to63:reada(12,lv):next
  57. 660 data2,0,0,7,0,0,7,128,0,15,160,0,31,240,0,31,240,0,31,240,128,63,241,200
  58. 670 data63,249,220,63,251,220,127,251,254,127,255,254,255,255,255,255,255,255
  59. 680 for lv=1to54:reada(13,lv):next
  60. 690 data15,255,240,31,255,248,63,255,252,122,16,94,240,,15,224,,7,240,,15
  61. 700 data224,,7,224,,7,224,,7,241,248,15,224,4,7,224,2,7,224,1,7,240,,143
  62. 710 data224,,71,240,,15,250,8,95
  63. 720 forlv=55to63:a(13,lv)=255:next
  64. 730 forlv=1to63:reada(14,lv):next
  65. 740 data0,127,224,7,128,24,8,,4,16,63,194,33,192,33,34,,17,68,63,9,136,64,137
  66. 750 data136,28,73,145,,73,145,16,137,145,15,9,72,128,18,72,96,100,36,31,132
  67. 760 data35,,8,16,192,48,8,63,192,4,,,3,128,,,127,255
  68. 770 forlv=19to63:reada(15,lv):next
  69. 780 data30,,,30,,,30,,,30,,,31,255,252,255,255,254,255,255,255,255,255,255
  70. 790 data255,255,254,31,255,252,30,,,30,,,30,,,30,,,,,
  71. 800 forlv=1to63:reada(16,lv):next
  72. 810 data,,,,3,128,,15,224,,31,240,,63,248,,127,248,,255,248,1,255,240,7,255,240
  73. 820 data24,255,224,32,63,224,71,31,192,72,159,128,144,79,,147,78,,144,76,,72,88,
  74. 830 data71,144,,32,32,,24,192,,7,,
  75. 840 forlv=14to63:reada(17,lv):next
  76. 850 data15,255,,16,3,,40,7,,83,229,,128,135,1,99,118,2,16,22,4,231,244,8,,60
  77. 860 data19,11,72,36,148,112,71,159,144,128,,224,255,255,32,255,255,64,128,1,128
  78. 870 data255,255,128
  79. 880 forlv=31to63:reada(18,lv):next
  80. 890 data7,128,,31,224,,56,112,,96,31,254,192,15,255,192,15,255,192,15,255
  81. 900 data96,24,227,56,48,227,31,224,227,7,128,3
  82. 910 forlv=4to59:reada(19,lv):next
  83. 920 data3,255,192,28,,56,31,255,248,16,255,8,16,,16,8,,16,8,,16,8,,16,4,,16
  84. 930 data4,,32,4,,32,4,,32,2,,32,2,,64,2,,64,2,,64,2,,64,1,195,128,,60
  85. 940 forlv=24to63:reada(20,lv):next
  86. 950 data16,,,24,,,24,,,88,,,228,,1,52,,1,252,,1,252,0,3,254,0,3,239
  87. 960 data127,255,254,255,255,254,255,255,250,127,255,252
  88. 970 forlv=1to63:reada(21,lv):next
  89. 980 data,126,,,255,,,255,,1,255,128,1,255,128,3,255,192,3,255,192,7,255,224,7
  90. 990 data255,224,15,255,240,15,255,240,31,255,248,31,255,248,63,255,252,63,255
  91. 1000 data252,127,255,254,127,255,254,255,255,255,128,,1,128,,1,255,255,255
  92. 1010 forlv=1to63:reada(22,lv):next
  93. 1020 data,24,,,24,,,24,,,60,,,126,,,255,,1,255,128,3,255,192,7,255,224,15,255
  94. 1030 data240,15,255,240,12,24,48,12,24,48,12,24,48,15,255,240,15,255,240,12,24,48
  95. 1040 data12,24,48,12,24,48,15,255,240,15,255,240
  96. 1050 forlv=0to12:forlw=0to6:readd(lw,lv):next:next
  97. 1060 data4,20,8,16,28,24,8
  98. 1070 data6,6,16,28,30,60,12
  99. 1080 data22,26,24,10,18,26,14
  100. 1090 data26,24,24,24,24,44,2
  101. 1100 data,,,,,18,8
  102. 1110 data20,28,12,,,,
  103. 1120 data6,2,22,8,,,
  104. 1130 data22,24,30,12,,,
  105. 1140 data18,24,26,10,,,
  106. 1150 data,,4,,,,
  107. 1160 data4,,6,,,,
  108. 1170 data22,16,18,24,,,
  109. 1180 data2,,,,,,
  110. 1190 forlv=0to10:reada$(lv):next
  111. 1200 dataschriftrolle,schwert,fackel,panzerhemd,schluessel,laterne,buch,platte
  112. 1210 dataeimer,uhr,seil
  113. 1220 e(6,0)=4:e(0,1)=2:e(2,2)=1:e(6,2)=2:e(2,3)=1:e(6,4)=8:e(5,1)=64:e(1,6)=64
  114. 1230 e(2,6)=32:e(3,6)=8:e(1,7)=4:e(2,7)=1:e(0,10)=4:e(2,10)=1:e(3,11)=16
  115. 1240 e(0,12)=4
  116. 1250 c(0,0)=1:c(2,0)=2:c(3,0)=8:c(2,1)=4:c(4,1)=1024:c(6,3)=16
  117. 1260 c(1,5)=512:c(3,7)=32:c(0,11)=192:c(2,9)=256
  118. 1270 print"      bitte eine taste druecken"
  119. 1280 poke198,0:wait198,1:poke53280,1:printchr$(142)
  120. 1290 poke53281,5:poke53280,0:pokevi+21,0
  121. 1300 print"[147][144]";
  122. 1310 forlv=1to13
  123. 1320 iflv<6thenprint"[154]      [144]                      [154]      [144]      ";:goto1350
  124. 1330 iflv>9thenprint"                 [151]      [144]                 ";:goto 1350
  125. 1340 print"                                        ";
  126. 1350 next
  127. 1360 print"";
  128. 1370 print"[146][164][164][175][175][185][185][162][162][184][184][183][183][163][163]            [163][163][183][183][184][184][146][162][162][185][185][175][175][164][164]";
  129. 1380 forlv=1to6
  130. 1390 print"                                        ";
  131. 1400 next
  132. 1410 print"                                       ";:poke2023,160
  133. 1420 poke2040,13:poke2041,14:poke2042,15
  134. 1430 forlv=0to62:poke832+lv,a(1,lv+1):next
  135. 1440 forlv=0to62:poke896+lv,a(2,lv+1):next
  136. 1450 forlv=0to62:poke960+lv,a(3,lv+1):next
  137. 1460 pokevi+29,7:pokevi+23,7:pokevi+39,0:pokevi+40,0:pokevi+41,11:pokevi+21,7
  138. 1470 pokevi,24:pokevi+1,50:pokevi+2,248:pokevi+3,50:pokevi+4,160:pokevi+5,80
  139. 1480 print:print"[144][146]du stehst vor dem tor von mario. davor"
  140. 1490 print"liegt ein dunkler, unheimlicher see."
  141. 1500 print"moegliche richtungen: w."
  142. 1510 print"dangalf uebersetzt die schrift auf dem"
  143. 1520 print"tor: 'sprich,'freund',und tritt ein.'"
  144. 1530 goto4160
  145. 1540 poke53280,0:poke53281,12:pokevi+21,0:pokevi+23,1:pokevi+29,1
  146. 1550 print"[147]";:forlv=8to18step2:print"[151]           ";
  147. 1560 printspc(lv/2-4)"[155][146][223]";:forl1=1to24-lv:print" ";:next:print"[146][169]";
  148. 1570 printspc(lv/2-4)"[151]           ";:next
  149. 1580 print"";:forlv=1to15
  150. 1590 iflv>6thenprint"[151]           [144]      [151]           ";:goto1610
  151. 1600 print"[151]                      ";
  152. 1610 next
  153. 1620 forlv=10to0step-2
  154. 1630 print"[151]           ";spc(lv/2)"[155][169]";:forl1=1to16-lv:print" ";:next
  155. 1640 print"[223]";spc(lv/2)"[151]           ";:next
  156. 1650 poke2040,13:pokevi,160:pokevi+1,64:pokevi+39,0
  157. 1660 forlv=0to62:poke832+lv,a(3,lv+1):next:pokevi+21,1
  158. 1670 print"[146][144]ein heller gang.";
  159. 1680 ifm3=0thenprint"ploetzlich schlaegt je- mand das eingangstor zu.":m3=1
  160. 1690 print"richtungen: o":ri$="o"
  161. 1700 gosub5340:goto5830
  162. 1710 poke53280,0:poke53281,11:pokevi+21,0:pokevi+23,1:pokevi+29,1
  163. 1720 print"[147]";:forlv=8to18step2:print"[144]           ";
  164. 1730 printspc(lv/2-4)"[152][146][223]";:forl1=1to24-lv:print" ";:next:print"[146][169]";
  165. 1740 printspc(lv/2-4)"[144]           ";:next
  166. 1750 print"";:forlv=1to6
  167. 1760 print"[144]                      ";:next
  168. 1770 hv=d(x,y):hv=(hvand159)
  169. 1780 ifhv>=16thenb(4)=1
  170. 1790 forlv=7to15
  171. 1800 ifb(4)=1thenprint"[144]           [144]      [144]           ";:goto1820
  172. 1810 print"[144]           [151]      [144]           ";
  173. 1820 next
  174. 1830 forlv=10to0step-2
  175. 1840 print"[144]           ";spc(lv/2)"[152][169]";:forl1=1to16-lv:print" ";:next
  176. 1850 print"[223]";spc(lv/2)"[144]           ";:next
  177. 1860 poke2040,13:pokevi,160:pokevi+1,64
  178. 1870 ifb(4)=1thenpokevi+39,0
  179. 1880 ifb(4)=0thenpokevi+39,11
  180. 1890 forlv=0to62:poke832+lv,a(3,lv+1):next:pokevi+21,1
  181. 1900 gosub4750
  182. 1910 ifb(1)=0then 2000
  183. 1920 b(1)=0
  184. 1930 print"";
  185. 1940 forlv=1to7:print"[144][146][167]  [146][165][157][157][157][157]";:next
  186. 1950 print"[146][167] [146][169][157][157][157][167][169]"
  187. 1960 poke2041,14:pokevi+2,112:pokevi+3,80:pokevi+40,0
  188. 1970 forlv=0to62:poke896+lv,a(4,lv+1):next
  189. 1980 pokevi+23,3:pokevi+29,3:pokevi+21,3
  190. 1990 ri$=ri$+"n"
  191. 2000 ifb(2)=0then2090
  192. 2010 b(2)=0
  193. 2020 print"";
  194. 2030 forlv=1to7:print"[144][146][167]  [146][165][157][157][157][157]";:next
  195. 2040 print"[146][223] [146][165][157][157][223][165]"
  196. 2050 poke2042,15:pokevi+4,208:pokevi+5,80:pokevi+41,0
  197. 2060 forlv=0to62:poke960+lv,a(5,lv+1):next
  198. 2070 pokevi+23,7:pokevi+29,7:pokevi+21,peek(vi+21)+4
  199. 2080 ri$=ri$+"-s"
  200. 2090 ifb(3)>0thenb(3)=0:ri$=ri$+"-w"
  201. 2100 ifb(4)>0thenb(4)=0:ri$=ri$+"-o"
  202. 2110 ifb(6)>0thenb(6)=0:ri$=ri$+"-h"
  203. 2120 ifb(5)=0then2160
  204. 2130 b(5)=0:ri$=ri$+"-r"
  205. 2140 print"";
  206. 2150 print"[152][171][192][179][157][157][157][157][144][169][194] [194][223][157][157][157][157][157][157][169] [171][192][179] [223]"
  207. 2160 print"[146][144]ein dunkler gang.";
  208. 2170 print"[144]richtungen:";ri$
  209. 2180 gosub 4700
  210. 2190 print"[144]gegenstaende:";ge$
  211. 2200 gosub4860
  212. 2210 print"[144]besonderheiten:";
  213. 2220 if fg$=""then fg$="keine"
  214. 2230 printfg$
  215. 2240 gosub5340:goto5830
  216. 2250 print"[147][144]";:poke53280,0:poke53281,12:pokevi+21,0
  217. 2260 for lv=1to5:printspc(lv-1)"[205]"spc(39-2*lv)"[206]":next
  218. 2270 printspc(5)"[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][183][183][183][208]"
  219. 2280 for lv=1to8:printspc(5)"[165]"spc(27)"[167]":next
  220. 2290 printspc(5)"[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][175][175][175][186]"
  221. 2300 forlv=5to1step-1:printspc(lv-1)"[206]"spc(39-2*lv)"[205]":next
  222. 2310 for lw=10 to 25 step 15
  223. 2320 print""spc(lw)"[164][164][164][164][157][157][157][157][205][175][175][206]"
  224. 2330 for lv=1to14
  225. 2340 if lv=3thenprintspc(lw)"[208]  [207]":goto 2370
  226. 2350 if lv=12 then printspc(lw)"[186]  [204]":goto 2370
  227. 2360 printspc(lw)"[167]  [165]"
  228. 2370 next
  229. 2380 printspc(lw)"[206][183][183][205][157][157][157][157][163][163][163][163]"
  230. 2390 next lw
  231. 2400 gosub4750
  232. 2410 if b(1)=0then2470
  233. 2420 b(1)=0
  234. 2430 print"[167][205][157][157][167] [205][157][157][157][167][183][208]"
  235. 2440 forlv=1to8:print"[167] [167]":next
  236. 2450 print"[167][175][186][157][157][157][167]  [157][157][157][167] "
  237. 2460 ri$=ri$+"-n"
  238. 2470 ifb(2)=0then2530
  239. 2480 b(2)=0
  240. 2490 print""tab(37)"[206][165][157][157][157][206] [165][157][157][157][207][183][165]"
  241. 2500 forlv=1to8:printtab(36)"[165] [165]":next
  242. 2510 printtab(36)"[204][175][165][157][157][157]  [165][157][157] [165]"
  243. 2520 ri$=ri$+"-s"
  244. 2530 ifb(4)=0then2590
  245. 2540 b(4)=0
  246. 2550 print""tab(17)"[164][164][164][164][164][157][157][157][157][157][157][167][205][164][164][164][206][165]"
  247. 2560 forlv=1to6:printtab(16)"[167][167]   [165][165]":next
  248. 2570 printtab(16)"[186][206][163][163][163][205][204]"
  249. 2580 ri$=ri$+"-o"
  250. 2590 ifb(6)>0thenb(6)=0:ri$=ri$+"-h"
  251. 2600 print"[144]ein raum mit saeulen,der durch schaechte":print"beleuchtet wird.";
  252. 2610 print"[144]richtungen:";ri$
  253. 2620 gosub 4700
  254. 2630 print"[144]gegenstaende:";ge$
  255. 2640 gosub 4860
  256. 2650 if fg$=""then fg$="keine"
  257. 2660 print"[144]besonderheiten:";fg$
  258. 2670 gosub5340:goto5830
  259. 2680 print"[147][152]";:poke53280,0:poke53281,0
  260. 2690 print:pokevi+21,0
  261. 2700 forlv=2to20step2
  262. 2710 printtab(19-lv/2)"[152][169]";:forlw=1tolv:print" ";:next:print"[223]"
  263. 2720 printtab(19-lv/2)"[151]";:forlw=1tolv+2:print" ";:next:print
  264. 2730 next lv
  265. 2740 print"[152][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]";
  266. 2750 ri$="w-o-n-s"
  267. 2760 print"eine treppe, sonst ist alles dunkel."
  268. 2770 print"richtungen:";ri$;" ; nichts besonderes"
  269. 2780 gosub 4700
  270. 2790 print"[152]gegenstaende";ge$
  271. 2800 gosub5340:goto5830
  272. 2810 pokevi+21,0:poke53281,15:poke53280,0
  273. 2820 print"[147][144]";
  274. 2830 forlv=0to3
  275. 2840 if lv=0then 2870
  276. 2850 forlw=1tolv
  277. 2860 print"[152] ";:next
  278. 2870 print"[152][223]"spc(37-2*lv)"[152][169]"
  279. 2880 nextlv
  280. 2890 print"[152]"tab(38)" [157][157]  [157][157][157]   "
  281. 2900 print"[151]       [152][223][146]               [169][151]       "
  282. 2910 print"[151]       [152] [223][146]             [169] [151]       "
  283. 2920 print"[151]       [152]  [223][146]           [169]  [151]       "
  284. 2930 print"[151]       [152]   [223][146]         [169]   [151]       "
  285. 2940 forlv=1to5:print"[151]       [152]    [144]         [152]    [151]       ":next
  286. 2950 print"[151]       [152]   [146][169]         [223]   [151]       "
  287. 2960 print"[151]       [152]  [146][169]           [223]  [151]       "
  288. 2970 print"[151]       [152] [146][169][144][169]           [223][152][146][223] [151]       "
  289. 2980 print"[151]       [152][146][169][144][169]             [223][152][146][223][151]       "
  290. 2990 print"[152]";:forlv=1to13
  291. 3000 print"    "spc(31)"    "
  292. 3010 next
  293. 3020 print"[152]   [146][169][157][157][157][157]  [146][169][157][157][157] [146][169][157][157][169]"
  294. 3030 print"[145][145][145][145]"spc(35)"[223]   [146][157][157][157][223]  [146][157][157][223] [146][157][223]"
  295. 3040 forlv=0to20:poke1063+40*lv,160:poke55335+40*lv,12:next
  296. 3050 poke1063+40*21,95:poke55335+40*21,12
  297. 3060 ifm5=2thenri$="w-o":goto3080
  298. 3070 ri$="w-o-n"
  299. 3080 print"[145][145][145][145][145][145][145][145][145][145][145][145][145][223][157] [223][157][157]  [157][157]  [157][157]  [157][157]  [157][157]  [157][157]  [157][157]  [157][157] [169][157][157][169]"
  300. 3090 poke2040,11:poke2041,11:poke2042,13:poke2043,13:poke2044,14:poke2045,14
  301. 3100 poke2046,15:poke2047,15
  302. 3110 forlv=vi+39tovi+46:pokelv,7:next
  303. 3120 forlv=vitovi+12step4:pokelv,132:pokelv+1,144:pokelv+2,180:pokelv+3,144
  304. 3130 next
  305. 3140 forlv=0to62:poke704+lv,a(9,lv+1):next
  306. 3150 forlv=0to62:poke832+lv,a(10,lv+1):next
  307. 3160 forlv=0to62:poke896+lv,a(11,lv+1):next
  308. 3170 forlv=0to62:poke960+lv,a(12,lv+1):next
  309. 3180 pokevi+23,255:pokevi+29,255
  310. 3190 l1=0
  311. 3200 forlv=0to6step2
  312. 3210 pokevi+21,2^lv+2^(lv+1)
  313. 3220 next
  314. 3230 l1=l1+1
  315. 3240 forlv=4to2step-2
  316. 3250 pokevi+21,2^lv+2^(lv+1)
  317. 3260 next
  318. 3270 ifl1<7then3200
  319. 3280 print"[144]ein raum mit einem schmalen abgrund,":print"aus dem feuer dringt."
  320. 3290 print"[144]richtungen:";ri$" besonderheiten:feuer"
  321. 3300 gosub4700
  322. 3310 print"[144]gegenstaende:";ge$
  323. 3320 gosub5340:goto5830
  324. 3330 print"[147][144]";:poke53280,0:poke53281,12:pokevi+21,0
  325. 3340 for lv=0to4
  326. 3350 printtab(lv)"[205]"spc(37-2*lv)"[206]":next
  327. 3360 printtab(5)"[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][183][183][183][208]"
  328. 3370 forlv=1to9:printtab(5)"[165]"spc(27)"[167]":next
  329. 3380 printtab(5)"[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]"
  330. 3390 forlv=0to4
  331. 3400 printtab(4-lv)"[169]";:forl1=1tolv
  332. 3410 if lv=0then 3430
  333. 3420 print" ";:nextl1
  334. 3430 print:next lv
  335. 3440 print"[145][145][145][145][145]";:forlv=0to4
  336. 3450 printtab(34);:forl1=1tolv
  337. 3460 if lv=0then goto 3480
  338. 3470 print" ";:next l1
  339. 3480 print"[223]"
  340. 3490 next lv
  341. 3500 print"[145][145][145][145][145]";:forlv=1to5
  342. 3510 printtab(5)"[151]                             "
  343. 3520 next
  344. 3530 print"[145][145][145][145][145]";
  345. 3540 printtab(18)"[152]    [157][157][157][157][157][151][167][152]    [151][165][157][157][157][157][157][157][182][152]    [151][181][157][157][157][157][157][157][146][161][152]    [151][161]"
  346. 3550 printtab(17)"[151][181][152]    [151][182]"
  347. 3560 print"[145][145][145][145][145][145][145][145][145][145]";:forlv=1to5
  348. 3570 printtab(18)"[129]    "
  349. 3580 next
  350. 3590 printtab(17)"[144][145][186][145][157][167][145][157][167][145][157][167][145][157][167][145][175][175][175][175][165][157][165][157][165][157][165][157][204]"
  351. 3600 print"eine schmale bruecke fuehrt auf eine":print"tuer zu.";
  352. 3610 ife(x,y)>0thenprint"ein ungeheuer versperrt den weg"
  353. 3620 print"richtungen:w-o":ri$="w-o"
  354. 3630 gosub4700
  355. 3640 print"[144]gegenstaende:";ge$
  356. 3650 gosub 4860
  357. 3660 print"besonderheiten:";fg$
  358. 3670 gosub5340:goto5830
  359. 3680 poke 2043,11:forlv=0to62:poke704+lv,a(6,lv+1):next
  360. 3690 pokevi+23,peek(vi+23)or8:pokevi+6,160:pokevi+7,134:pokevi+42,11
  361. 3700 pokevi+29,peek(vi+29)or8:pokevi+21,peek(vi+21)or8
  362. 3710 return
  363. 3720 poke2043,11:poke2044,11:forlv=0to62:poke704+lv,a(7,lv+1):next
  364. 3730 pokevi+6,160:pokevi+7,132:pokevi+8,160:pokevi+9,175
  365. 3740 if(d(x,y)and16)=16thenpokevi+42,11:pokevi+43,11:goto3760
  366. 3750 pokevi+42,0:pokevi+43,0
  367. 3760 pokevi+23,peek(vi+23)or24:pokevi+29,peek(vi+29)or24
  368. 3770 pokevi+21,peek(vi+21)or24
  369. 3780 return
  370. 3790 pokevi+44,11
  371. 3800 poke2045,11:forl1=0to62:poke704+l1,a(15,l1+1):next
  372. 3810 pokevi+10,200:pokevi+11,180:pokevi+21,peek(vi+21)or32
  373. 3820 return
  374. 3830 poke2045,14:forl1=0to62:poke896+l1,a(19,l1+1):next
  375. 3840 pokevi+44,6:pokevi+10,140:pokevi+11,170
  376. 3850 pokevi+21,peek(vi+21)or32:return
  377. 3860 poke2047,11:forl1=0to62:poke704+l1,a(22,l1+1):next
  378. 3870 pokevi+46,0:pokevi+14,196:pokevi+15,191:pokevi+21,peek(vi+21)or128
  379. 3880 pokevi+23,peek(vi+23)and127:pokevi+29,peek(vi+29)and127
  380. 3890 ifx>0andx<3andy=11thenprint"[158][145][145][145][145]  ":goto3910
  381. 3900 print"[158][145][145][145]  "
  382. 3910 return
  383. 3920 poke2040,14:forl1=0to62:poke896+l1,a(21,l1+1):next
  384. 3930 pokevi+39,2:pokevi,157:pokevi+1,161:pokevi+21,peek(vi+21)or1
  385. 3940 pokevi+29,peek(vi+29)or1:pokevi+23,peek(vi+23)and254:return
  386. 3950 poke2046,11:forl1=0to62:poke704+l1,a(18,l1+1):next
  387. 3960 pokevi+45,0:pokevi+12,180:pokevi+13,180:pokevi+21,peek(vi+21)or64:return
  388. 3970 poke2047,11:forl1=0to62:poke704+l1,a(20,l1+1):next
  389. 3980 pokevi+46,7:pokevi+14,200:pokevi+15,180:pokevi+21,peek(vi+21)or128:return
  390. 3990 poke 2047,11:forl1=0to62:poke704+l1,a(8,l1+1):next
  391. 4000 if peek(vi+21)>127then 4020
  392. 4010 pokevi+21,peek(vi+21)+128
  393. 4020 poke vi+46,0:poke vi+14,174:pokevi+15,167
  394. 4030 return
  395. 4040 forl1=0to62:poke704+l1,a(13,l1+1):next
  396. 4050 poke2046,11:pokevi+12,160:pokevi+13,170:pokevi+45,0
  397. 4060 pokevi+21,peek(vi+21)or64:pokevi+23,peek(vi+23)and191
  398. 4070 pokevi+29,peek(vi+29)and191:return
  399. 4080 forl1=0to62:poke704+l1,a(14,l1+1):next
  400. 4090 poke2047,11:pokevi+14,165:pokevi+15,155:pokevi+46,15
  401. 4100 pokevi+21,peek(vi+21)or128:return
  402. 4110 poke2046,11:forl1=0to62:poke704+l1,a(16,l1+1):next
  403. 4120 pokevi+45,11:pokevi+12,123:pokevi+13,197
  404. 4130 pokevi+21,peek(vi+21)or64:return
  405. 4140 poke2047,13:forl1=0to62:poke832+l1,a(17,l1+1):next
  406. 4150 pokevi+46,11:pokevi+14,138:pokevi+15,180:pokevi+21,peek(vi+21)or128:return
  407. 4160 ti$="000000":tu=0
  408. 4170 :
  409. 4180 :
  410. 4190 :
  411. 4200 sys49152+256:inputb$
  412. 4210 ifval(ti$)<45 then 4230
  413. 4220 print"ploetzlich kommen arme aus dem see":print"und reissen dich hinein":goto4400
  414. 4230 ifleft$(b$,4)<>"sage"then 4270
  415. 4240 ifright$(b$,6)<>"freund"andright$(b$,7)<>"freund'"then 4260
  416. 4250 print"das tor ist offen!":print"moegliche richtungen: w-o":tu=1:goto 4180
  417. 4260 printright$(b$,len(b$)-5):goto4180
  418. 4270 ifleft$(b$,6)<>"bringe"orright$(b$,2)<>"um"then 4320
  419. 4280 ifmid$(b$,8,7)<>"dangalf"then print"nicht moeglich!":goto 4180
  420. 4290 print"dangalf hat dich mit einem blitz zu"
  421. 4300 print"boden geworfen ploetzlich kommen arme"
  422. 4310 print"aus dem see und ziehen dich hinein.":goto4400
  423. 4320 if b$<>"w"then 4340
  424. 4330 print"warge haben dich gefressen.":goto4400
  425. 4340 if b$="oeffne tor"then print"so einfach geht das nicht!":goto 4180
  426. 4350 if b$="hilf"then print"es handelt sich wohl um ein tor, das"
  427. 4360 if b$="hilf"then print"mit zauberworten verschluesselt ist.":goto 4180
  428. 4370 if b$="o"and tu=1then x=x+1:goto 1540
  429. 4380 ifb$="speichere"orb$="lade"thenprint"noch unmoeglich!":goto4180
  430. 4390 print"wie bitte???":goto4180
  431. 4400 print"du bist tot."
  432. 4410 print"willst du ein neues spiel?"
  433. 4420 poke198,0:wait198,1:pokevi+21,0
  434. 4430 geta$:ifa$="j"then4460
  435. 4440 ifa$<>"n"then4430
  436. 4450 sys64738
  437. 4460 ifm7>4thenrun
  438. 4470 ri$="":ge$="":gd$="":tu=0:x=-2:y=3:m1=0:m2=0:m3=0:m4=0:m5=0:m6=0:fg$=""
  439. 4480 d(6,4)=8:d(0,6)=6:d(3,6)=8:d(0,11)=22:c$="":forlv=1to3:gs$(lv)="":next
  440. 4490 forlv=0to6:forl1=0to12:c(lv,l1)=0:e(lv,l1)=0:next
  441. 4500 m7=m7+1:goto150
  442. 4510 poke53280,15:poke53281,15:printchr$(14)
  443. 4520 print"[147]":print"[211]ie  stehen  vor  dem  [212]or von  [205]ario,"
  444. 4530 print"einer  alten  [218]wergenmine  und stellen"
  445. 4540 print"[196]orfo, den  >[200]obbit<  dar. [205]ehr  ueber"
  446. 4550 print">[200]obbits< erfahren sie in:"
  447. 4560 print"[144][202].[210].[210]. [212]olkiens  ";chr$(34)"der [200]err der [210]inge"chr$(34);"."
  448. 4570 print"[201]n  [201]hrer   [194]egleitung  befindet  sich"
  449. 4580 print">[196]angalf<,  ein sehr alter und  weiser"
  450. 4590 print"[218]auberer."
  451. 4600 print"[201]hre  [193]ufgabe  ist es,  die [205]ine  ohne"
  452. 4610 print"[211]chaden zu durchqueren. [196]ie [210]ichtungen"
  453. 4620 print"sind etwas ungewoehnlich:":print"                  [144][207][211][157][157][215][145][157][157][206]"
  454. 4630 print"[198]olgende [194]efehle helfen [201]hnen:"
  455. 4640 print"[207][197][198][198][206][197],   [200][201][204][198] (bei [208]roblemen),   [206][201][205][205]"
  456. 4650 print"[204][201][211][212] (gibt [204]iste der [199]egenstaende aus)"
  457. 4660 print"[200][197][194][197],  [197][206][212][204][197][197][210][197], [211][208][197][201][195][200][197][210][197], [204][193][196][197], [204][201][197][211]"
  458. 4670 print"[211][193][199][197] (ohne [199]aensefuess),  [206], [211], [207],  [215],"
  459. 4680 print"[210] (runter), [200] (hoch)."
  460. 4690 return
  461. 4700 hv=c(x,y):forlv=10to0step-1
  462. 4710 ifhv<2^lvthen 4740
  463. 4720 on lv+1gosub4110,3790,3970,3990,3950,3860,4140,3920,3830,4040,4080
  464. 4730 ge$=ge$+a$(lv):ge$=ge$+" ":hv=hv-2^lv
  465. 4740 next:return
  466. 4750 hv=d(x,y):forlv=6to1step-1
  467. 4760 ifhv>=2^lvthenb(lv)=1:hv=hv-2^lv
  468. 4770 next:return
  469. 4780 ge$="":ri$="":fg$=""
  470. 4790 if y=11 and x=1then 2680
  471. 4800 if x=-1then 1540
  472. 4810 if y=11 and x=2then 2810
  473. 4820 if x=-2then 1290
  474. 4830 ify=11andx=3then 3330
  475. 4840 if y>8then 2250
  476. 4850 goto1710
  477. 4860 hw=0:hv=0:forlv=0to5
  478. 4870 if e(x,y)<>2^lvthen 4890
  479. 4880 hw=lv:lv=5:hv=1
  480. 4890 next:ifhv<1thenreturn
  481. 4900 if hw<3then gosub3720:fg$="orks"
  482. 4910 if hw=5then gosub3680:fg$="riesenspinne"
  483. 4920 ifx=3andy=6andd(x,y)<32thengosub8180:fg$="unbewegliche platte"
  484. 4930 ifx=6andy=4andd(x,y)<32thengosub8180:fg$="unbewegliche platte"
  485. 4940 ifhw=4thengosub8210:fg$="ralbog"
  486. 4950 return
  487. 4960 ifgd$<>"seil"then4990
  488. 4970 ifx=6andy=4then8040
  489. 4980 ifx=3andy=6then8080
  490. 4990 ifx<0thenprint"nicht moeglich!":goto5840
  491. 5000 hv=c(x,y):hw=0:forlv=10to0step-1
  492. 5010 ifgd$<>a$(lv)then 5030
  493. 5020 if hv>=2^lvthenlv=0:hw=1:goto5040
  494. 5030 if hv>=2^lvthen hv=hv-2^lv
  495. 5040 next
  496. 5050 ifhw=1then5090
  497. 5060 ifgd$="platte"andx=6andy=4thenprint"sie ist nicht beweglich!":goto5840
  498. 5070 ifgd$="platte"andx=3andy=6thenprint"sie ist nicht beweglich!":goto5840
  499. 5080 print"das ist hier nicht zu sehen":return
  500. 5090 if gs$(1)=""then gs$(1)=gd$:goto5130
  501. 5100 if gs$(2)=""then gs$(2)=gd$:goto5130
  502. 5110 if gs$(3)=""then gs$(3)=gd$:goto5130
  503. 5120 print"du traegst zu viel":forlv=1to1500:next:return
  504. 5130 forlv=0to10:ifa$(lv)=gd$then c(x,y)=c(x,y)-2^lv
  505. 5140 next
  506. 5150 ifm6=1thenm6=0:c(x,y)=c(x,y)+1024
  507. 5160 ifm5=1andgd$="platte"thenm5=0
  508. 5170 return
  509. 5180 if gs$(1)=gd$then 5220
  510. 5190 if gs$(2)=gd$then 5230
  511. 5200 if gs$(3)=gd$then5240
  512. 5210 print"ich trage das nicht":return
  513. 5220 gs$(1)="":goto 5250
  514. 5230 gs$(2)="":goto 5250
  515. 5240 gs$(3)=""
  516. 5250 ifx>-1then5290
  517. 5260 print"ein arm hat die tuer aufgerissen,den"
  518. 5270 print"gegenstand genommen und sie wieder"
  519. 5280 print"zugeworfen.":forlv=1to3500:next:return
  520. 5290 forlv=0to10:ifa$(lv)=gd$then c(x,y)=c(x,y)+2^lv
  521. 5300 next
  522. 5310 ifgd$="laterne"thenm1=0
  523. 5320 ifgd$="platte"andx=2andy=11andm5=0thenm5=1
  524. 5330 return
  525. 5340 ifx=2andy=2then 5390
  526. 5350 ifx=2andy=3then 5390
  527. 5360 ifx=2andy=7then 5390
  528. 5370 ifx=2andy=10then 5390
  529. 5380 goto5430
  530. 5390 hw=0:forlv=1to3:ifgs$(lv)="schwert"then hw=1
  531. 5400 next:ifhw=1thenreturn
  532. 5410 ife(x,y)=0thenreturn
  533. 5420 print"orks haben dich gefangengenommen":goto4400
  534. 5430 ifx=0andy=1then 5460
  535. 5440 ifx=6andy=2then 5460
  536. 5450 goto5540
  537. 5460 hw=0:forlv=1to3:ifgs$(lv)="panzerhemd"then hw=1
  538. 5470 next:ifhw=1then5500
  539. 5480 ife(x,y)=0thenreturn
  540. 5490 print"orks mit pfeil und bogen haben dich":print"beschossen":goto4400
  541. 5500 hw=0:forlv=1to3:if gs$(lv)="schwert"then hw=1
  542. 5510 next:ifhw=1thenreturn
  543. 5520 ife(x,y)=0thenreturn
  544. 5530 print"orks haben dich gefangengenommen":goto 4400
  545. 5540 ifx=6andy=0then 5590
  546. 5550 ifx=1andy=7then 5590
  547. 5560 ifx=0andy=10then 5590
  548. 5570 ifx=0andy=12then 5590
  549. 5580 goto5600
  550. 5590 print"zuviele orks stuermten euch entgegen.":goto4400
  551. 5600 if x<>3ory<>11then 5650
  552. 5610 hw=0:forlv=1to3:ifgs$(lv)="platte"then hw=1
  553. 5620 next:ifhw=1thenreturn
  554. 5630 if e(x,y)=0then return
  555. 5640 print"das dunkle feuer des ralbogs hat dich vernichtet.":goto4400
  556. 5650 ifx<0thenreturn
  557. 5660 ife(x,y)=32then 5680
  558. 5670 goto5760
  559. 5680 hw=0:forlv=1to3
  560. 5690 if gs$(lv)="laterne"andm1=1then hw=1
  561. 5700 next:ifhw=0then5750
  562. 5710 print"die laterne hat eine magische wirkung"
  563. 5720 print"auf die augen der spinne. diespinne"
  564. 5730 print"ist geblendet und fluechtet"
  565. 5740 pokevi+21,peek(vi+21)and247:gosub8120:return
  566. 5750 print"die riesenspinne hat dich gefressen":goto4400
  567. 5760 if m2>5then print"du bist vor erschoepfung umgefallen":goto4400
  568. 5770 if x=4andy=2then 5800
  569. 5780 if x=1andy=6then 5800
  570. 5790 goto5820
  571. 5800 pokevi+21,0
  572. 5810 print"[147]du bist in eine fallgrube gelaufen.":goto4400
  573. 5820 return
  574. 5830 rem
  575. 5840 sys49152+256:inputb$
  576. 5850 ifb$<>"o"then 6040
  577. 5860 hw=0:forlv=1to8:if mid$(ri$,lv,1)="o"thenhw=1:lv=8
  578. 5870 next:ifhw=1then5890
  579. 5880 print"nicht moeglich":goto5840
  580. 5890 ifx<0then5980
  581. 5900 ife(x,y)=1ore(x,y)=2ore(x,y)=4then5880
  582. 5910 ifm5=2andx=2andy=11then6020
  583. 5920 ifx=4andy=11then6030
  584. 5930 if x<>3ory<>11then 5980
  585. 5940 ife(x,y)<>0thenprint"der ralbog hat dich vernichtet.":goto4400
  586. 5950 hw=0:forlv=1to3:if gs$(lv)<>""thenhw=1
  587. 5960 next:ifhw=1thenprint"die bruecke ist gebrochen!":goto4400
  588. 5970 x=x+1:print"[144]du stehst auf der bruecke!":goto5840
  589. 5980 ifx<>2ory<>11then6020
  590. 5990 ifm5=0thenprint"du bist in den abgrund gestuerzt!":goto4400
  591. 6000 print"du bist im hintergrund des raumes":forlv=1to2500:next
  592. 6010 m5=2:goto4780
  593. 6020 x=x+1:ri$="":goto4780
  594. 6030 if tu=2andx=4andy=11then 8710
  595. 6040 ifb$<>"w"then 6150
  596. 6050 hw=0:forlv=1to8:if mid$(ri$,lv,1)="w"thenhw=1
  597. 6060 next:ifhw=1then6080
  598. 6070 print"nicht moeglich":goto5840
  599. 6080 ife(x,y)=1ore(x,y)=2ore(x,y)=4then6070
  600. 6090 ifx<>2ory<>11then6140
  601. 6100 ifm5<2then6140
  602. 6110 if(c(x,y)and128)=0then6130
  603. 6120 print"du stehst vor dem feuer":forlv=1to2000:next:m5=1:goto4780
  604. 6130 print"du bist in den abgrund gefallen!":goto4400
  605. 6140 x=x-1:ri$="":goto4780
  606. 6150 ifb$<>"n"then 6220
  607. 6160 hw=0:forlv=1to8:if mid$(ri$,lv,1)="n"thenhw=1
  608. 6170 next:ifhw=1then6190
  609. 6180 print"nicht moeglich":goto5840
  610. 6190 ife(x,y)=1ore(x,y)=2ore(x,y)=4then6180
  611. 6200 ifx=1andy=11then print"du bist in einen abgrund gestuerzt":goto4400
  612. 6210 y=y-1:ri$="":goto4780
  613. 6220 ifb$<>"s"then 6290
  614. 6230 hw=0:forlv=1to8:if mid$(ri$,lv,1)="s"thenhw=1
  615. 6240 next:ifhw=1then6260
  616. 6250 print"nicht moeglich":goto5840
  617. 6260 ife(x,y)=1ore(x,y)=2ore(x,y)=4then6250
  618. 6270 ifx=1andy=11then print"du bist in einen abgrund gestuerzt":goto4400
  619. 6280 y=y+1:ri$="":goto4780
  620. 6290 if left$(b$,4)<>"nimm"then 6370
  621. 6300 iflen(b$)<5then5840
  622. 6310 b$=right$(b$,len(b$)-5)
  623. 6320 hw=0:forlv=0to10
  624. 6330 ifb$=a$(lv)thengd$=b$:hw=1
  625. 6340 next:ifhw=1then6360
  626. 6350 print"ich sehe das hier nicht":goto5840
  627. 6360 gosub4960:goto4780
  628. 6370 ifleft$(b$,8)<>"verliere"then 6450
  629. 6380 iflen(b$)<9then5840
  630. 6390 b$=right$(b$,len(b$)-9)
  631. 6400 hw=0:forlv=0to10
  632. 6410 ifb$=a$(lv)thengd$=b$:hw=1
  633. 6420 next:ifhw=1then6440
  634. 6430 print"ich sehe das hier nicht!":goto5840
  635. 6440 gosub5180:goto4780
  636. 6450 ifleft$(b$,6)<>"oeffne"then 6510
  637. 6460 if right$(b$,4)="tuer"then 6480
  638. 6470 print"geht nicht":goto5840
  639. 6480 ifx=4andy=11thenprint"die tuer ist offen! richtungen:w-o":ri$="w-o"
  640. 6490 ifx=4andy=11thentu=2:goto5840
  641. 6500 if x=3andy=11then print"die bruecke ist dazwischen!":goto5840
  642. 6510 if b$<>"list"then 6550
  643. 6520 print"du traegst:"
  644. 6530 printgs$(1):printgs$(2):printgs$(3)
  645. 6540 goto5840
  646. 6550 if b$<>"r"then6710
  647. 6560 if x=5andy=1then 6610
  648. 6570 if x=5andy=3then 6610
  649. 6580 if x=6andy=4then 6630
  650. 6590 if x=3andy=6then 6630
  651. 6600 print"nicht moeglich":goto5840
  652. 6610 print"[147]du bist in die keller der orks geraten  und bist entdeckt worden."
  653. 6620 goto4400
  654. 6630 hw=0:forlv=1to10:ifmid$(ri$,lv,1)="r"thenhw=1
  655. 6640 next:ifhw=1then6660
  656. 6650 print"nicht moeglich":goto5840
  657. 6660 if x=6then x=0:y=6:goto6680
  658. 6670 x=0:y=11
  659. 6680 print"du bist geklettert,ploetzlich ist die"
  660. 6690 print"leiter zusammengekracht. du bist"
  661. 6700 print"aufgekommen.":forlv=1to5000:next:goto4780
  662. 6710 if left$(b$,4)<>"sage"then6840
  663. 6720 iflen(b$)<5then5840
  664. 6730 printright$(b$,len(b$)-5)
  665. 6740 if x=6andy=4then6770
  666. 6750 if x=3andy=6then6770
  667. 6760 print"es ist nichts geschehen.":goto5840
  668. 6770 if right$(b$,6)<>"freund"andright$(b$,7)<>"freund'"then6760
  669. 6780 hw=0:forlv=1to3:ifgs$(lv)="schluessel"thenhw=1
  670. 6790 next:ifhw=1then6810
  671. 6800 print"ich kann ein schloss erkennen!":goto5840
  672. 6810 print"die platte loest sich auf!"
  673. 6820 forlw=1to1500:next
  674. 6830 d(x,y)=d(x,y)or32:goto4780
  675. 6840 if left$(b$,6)<>"bringe"orright$(b$,2)<>"um"then6950
  676. 6850 ifx=-1thenprint"hier ist noch friedenszone":goto5840
  677. 6860 ifmid$(b$,8,4)="orks"ande(x,y)=0then5840
  678. 6870 ifmid$(b$,8,4)="orks"then print"sie sind tot!":m2=m2+1:e(x,y)=0:goto4780
  679. 6880 ifmid$(b$,8,7)="dangalf"thenprint"dangalf hat dich erschlagen":goto4400
  680. 6890 ifmid$(b$,8,6)<>"ralbog"ore(x,y)<>16then6930
  681. 6900 print"der ralbog hat sich erst halb"
  682. 6910 print"totgelacht dann hat er dich mit einem"
  683. 6920 print"schlag in den abgrund befoerdert.":goto4400
  684. 6930 ifmid$(b$,8,5)="dofro"ormid$(b$,8,4)="dich"thenprint"selbstmord":goto4400
  685. 6940 print"was soll ich toeten?":goto5840
  686. 6950 ifleft$(b$,4)<>"hebe"then7040
  687. 6960 iflen(b$)<5then5840
  688. 6970 b$=right$(b$,len(b$)-5)
  689. 6980 hw=0:forlv=1to3:ifgs$(lv)=b$thenhw=1
  690. 6990 next:ifhw=1then7010
  691. 7000 print"ich trage das nicht!":goto5840
  692. 7010 ifb$="platte"then print"zum heben ist sie zu schwer!":goto5840
  693. 7020 if b$="laterne"then m1=1:print"das laternenlicht wird heller":goto5840
  694. 7030 print"ok.":goto5840
  695. 7040 ifleft$(b$,8)<>"entleere"then7180
  696. 7050 if right$(b$,5)="eimer"orright$(b$,11)="wassereimer"then7070
  697. 7060 print"wie soll das gehen?":goto5840
  698. 7070 hw=0:forlv=1to3:ifgs$(lv)="eimer"thenhw=1
  699. 7080 next:ifhw=1then7100
  700. 7090 goto7060
  701. 7100 ifm4=1thenprint"er ist schon leer!":goto5840
  702. 7110 print"[144][146]wohin":sys49152+256:inputb$
  703. 7120 ifb$="ralbog"orb$="ueber ralbog"thenm4=1:goto7150
  704. 7130 ifx<>3ory<>11thenprint"das hat nichts veraendert.":m4=1:goto5840
  705. 7140 print"der ralbog hat dich angegriffen.":goto4400
  706. 7150 ifx<>3ory<>11then print"du spassvogel!":goto5840
  707. 7160 print"der ralbog taumelt und faellt":print"in den abgrund!":e(x,y)=0
  708. 7170 forlv=1to2500:next:goto4780
  709. 7180 ifb$<>"hilf"then7380
  710. 7190 ifx<0then print"du bist auf dem richtigen weg.":goto5840
  711. 7200 ifx=0andy=0thenprint"lies doch mal":goto5840
  712. 7210 ifx=0andy=11thenprint"lies doch mal":goto5840
  713. 7220 ifx=5andy=1thenprint"schau mal unten nach.":goto5840
  714. 7230 ifx=5andy=3thenprint"schau mal unten nach.":goto5840
  715. 7240 ifx=6andy=4thenprint"vielleicht hilft ein zauberwort":goto5840
  716. 7250 ifx=2andy=6thenprint"spinnen sind nuetzliche tiere!":goto5840
  717. 7260 if x=3andy=6thenprint"vielleicht hilft ein zauberwort":goto5840
  718. 7270 ifx=1andy=11thenprint"der weg nach norden scheint richtig":goto5840
  719. 7280 ifx=3andy=11thenprint"feuerwesen haben auch schwachstellen.":goto5840
  720. 7290 ifx=0andy=1ande(x,y)>0then7360
  721. 7300 ifx=2andy=2ande(x,y)>0then7360
  722. 7310 ifx=2andy=3ande(x,y)>0then7360
  723. 7320 ifx=6andy=2ande(x,y)>0then7360
  724. 7330 ifx=2andy=7ande(x,y)>0then7360
  725. 7340 ifx=2andy=10ande(x,y)>0then7360
  726. 7350 goto7370
  727. 7360 print"die orks haben dich umzingelt und":print"sperren den ausgang.":goto5840
  728. 7370 print"du machst deine sache gut.":goto5840
  729. 7380 ifb$<>"speichere"then7510
  730. 7390 print"unter welchem namen":sys49152+256:inputc$
  731. 7400 print"lege eine diskette ein dann <taste>":poke198,0:wait198,1
  732. 7410 open1,8,1,c$
  733. 7420 forl1=0to6:forlw=0to12:print#1,c(l1,lw):next:next
  734. 7430 forl1=0to6:forlw=0to12:print#1,e(l1,lw):next:next
  735. 7440 forl1=1to3
  736. 7450 ifgs$(l1)=""thenprint#1,"a":goto7470
  737. 7460 print#1,gs$(l1)
  738. 7470 next
  739. 7480 print#1,m1:print#1,m2:print#1,m3:print#1,m4:print#1,m5:print#1,m6
  740. 7490 print#1,tu:print#1,x:print#1,y:print#1,d(6,4):print#1,d(0,6)
  741. 7500 print#1,d(3,6):print#1,d(0,11):close1:goto4780
  742. 7510 ifb$<>"lade"then7640
  743. 7520 print"unter welchem namen":sys49152+256:inputc$
  744. 7530 print"bitte diskette einlegen dann <taste>":poke198,0:wait198,1
  745. 7540 open1,8,0,c$
  746. 7550 forl1=0to6:forlw=0to12:input#1,c(l1,lw):next:next
  747. 7560 forl1=0to6:forlw=0to12:input#1,e(l1,lw):next:next
  748. 7570 forl1=1to3:input#1,gs$(l1)
  749. 7580 ifgs$(l1)="a"thengs$(l1)=""
  750. 7590 next
  751. 7600 input#1,m1:input#1,m2:input#1,m3:input#1,m4:input#1,m5:input#1,m6
  752. 7610 input#1,tu:input#1,x:input#1,y:input#1,d(6,4):input#1,d(0,6)
  753. 7620 input#1,d(3,6):input#1,d(0,11):close1
  754. 7630 goto4780
  755. 7640 ifleft$(b$,4)<>"wirf"then7810
  756. 7650 iflen(b$)<5then5840
  757. 7660 b$=right$(b$,len(b$)-5):hv=0
  758. 7670 forlv=1to3:ifgs$(lv)=b$thenhv=1
  759. 7680 next:ifhv=1then7700
  760. 7690 print"ich sehe das nicht":goto5840
  761. 7700 ifb$="seil"then7720
  762. 7710 gd$=b$:gosub5180:goto4780
  763. 7720 ifx=0andy=6then7750
  764. 7730 ifx=0andy=11then7750
  765. 7740 gd$=b$:gosub5180:goto4780
  766. 7750 print"das seil hat sich oben verhakt!":d(x,y)=d(x,y)or64
  767. 7760 ifgs$(1)="seil"thengs$(1)=""
  768. 7770 ifgs$(2)="seil"thengs$(2)=""
  769. 7780 ifgs$(3)="seil"thengs$(3)=""
  770. 7790 forlv=1to2500:next
  771. 7800 goto4780
  772. 7810 ifb$<>"h"then7870
  773. 7820 hv=0:forlv=1to10:ifmid$(ri$,lv,1)="h"thenhv=1
  774. 7830 next:ifhv=1then7850
  775. 7840 print"nicht moeglich!":goto5840
  776. 7850 ifx=0andy=11thenx=3:y=6:goto4780
  777. 7860 ifx=0andy=6thenx=6:y=4:goto4780
  778. 7870 ifleft$(b$,4)<>"lies"then8030
  779. 7880 ifright$(b$,4)="buch"then7980
  780. 7890 ifright$(b$,12)<>"schriftrolle"thenprint"nicht moeglich!":goto5840
  781. 7900 hw=0:forlv=1to3:ifgs$(lv)="schriftrolle"thenhw=1
  782. 7910 next
  783. 7920 if hw=1then7940
  784. 7930 print"ich trage das nicht!":goto5840
  785. 7940 hw=0:forlv=1to3:ifgs$(lv)="fackel"orgs$(lv)="laterne"thenhw=1
  786. 7950 next
  787. 7960 ifhw=1then8360
  788. 7970 print"es ist zu dunkel,ich kann nichts sehen":goto5840
  789. 7980 hw=0:forlv=1to3:ifgs$(lv)="buch"thenhw=1
  790. 7990 next
  791. 8000 if hw=1then8020
  792. 8010 goto7930
  793. 8020 goto8570
  794. 8030 print"wie bitte???":goto5840
  795. 8040 if(c(x,y)and1024)=1024then4990
  796. 8050 ifd(0,6)<64thengoto5840
  797. 8060 ifgs$(1)>""andgs$(2)>""andgs$(3)>""then5840
  798. 8070 d(0,6)=d(0,6)-64:m6=1:goto5090
  799. 8080 if(c(x,y)and1024)=1024then4990
  800. 8090 ifd(0,11)<64then5840
  801. 8100 ifgs$(1)>""andgs$(2)>""andgs$(3)>""then5840
  802. 8110 d(0,11)=d(0,11)-64:m6=1:goto5090
  803. 8120 e(x,y)=0
  804. 8130 m=int(rnd(1)*4)
  805. 8140 n=int(rnd(1)*4)+5
  806. 8150 ife(m,n)>0then8130
  807. 8160 e(m,n)=32
  808. 8170 return
  809. 8180 print""spc(17)"[152][169]    [223][157][157][157][157][157][157][157][169]      [223][157][157][157][157][157][157][157][157]";
  810. 8190 print"[144]        "
  811. 8200 return
  812. 8210 poke2040,11:poke2041,13:poke2042,14:poke2043,14
  813. 8220 forl1=0to62:poke704+l1,a(0,l1+1):poke832+l1,a(23,l1+1)
  814. 8230 poke896+l1,a(11,l1+1):next
  815. 8240 pokevi+39,2:pokevi+40,2:pokevi,160:pokevi+2,160:pokevi+1,121:pokevi+3,163
  816. 8250 pokevi+41,7:pokevi+42,7:pokevi+4,153:pokevi+6,193:pokevi+5,179
  817. 8260 pokevi+7,179
  818. 8270 pokevi+23,(peek(vi+23)and243)or3:pokevi+29,(peek(vi+29)and243)or3
  819. 8280 pokevi+21,peek(vi+21)or15
  820. 8290 print"[144][164][164][175][175][185][185][162][162][184][184][183][183][163][163]  [163][163][183][183][184][184][146][162][162][185][185][175][175][164][164]"
  821. 8300 print"[169]                              [223]"
  822. 8310 forlv=1to4:print"                                ":next
  823. 8320 forlv=1to4:printspc(3+lv)"[146][223]";:forl1=1to32-2*lv:print" ";:next
  824. 8330 print"[146][169]":next
  825. 8340 forlv=1to7:print"[144]                        ":next:print""
  826. 8350 return
  827. 8360 poke53280,0:poke53281,4:pokevi+21,0
  828. 8370 print"[147]"chr$(14)
  829. 8380 print"[205]ein [198]reund [212]hrain,"
  830. 8390 print"ich schreibe [196]ir von [205]ario, der [218]wergen-";
  831. 8400 print"mine, die von [194]alin, dem [218]wergenfuehrer,";
  832. 8410 print"regiert wird. [196]iese [205]ine ist von vielen"
  833. 8420 print"[213]ngeheuern bevoelkert, und wir haben es"
  834. 8430 print"schwer, uns gegen sie zur [215]ehr zu"
  835. 8440 print"setzen. [197]ine [210]iesenspinne lauert uns"
  836. 8450 print"immer wieder auf, heimtueckische [207]rks"
  837. 8460 print"stellen uns nach, aber das [211]chlimmste"
  838. 8470 print"ist ein [198]euerwesen, gegen das wir alle"
  839. 8480 print"machtlos sind. [197]s heisst, dass die [211]pin-";
  840. 8490 print"ne sehr lichtempfindlich ist, aber"
  841. 8500 print"unsere herkoemmlichen [198]ackeln schaden"
  842. 8510 print"ihr nicht. [196]a die [204]uft dort sehr stickig";
  843. 8520 print"ist,bleibt das [204]icht unserer [198]ackeln"
  844. 8530 print"dort ohnehin nur dann einigermassen hellwenn wir sie hochheben."
  845. 8540 print"[201]ch hoere jemand kommen-nein, das werdendoch nicht etwa"
  846. 8550 poke198,0:wait 198,1
  847. 8560 printchr$(142):goto4780
  848. 8570 poke53281,1:poke53280,9:pokevi+21,0
  849. 8580 print"[147]"chr$(14)
  850. 8590 print"[212][193][199][197][194][213][195][200] [196][197][211] [218][215][197][210][199][197][206][200][197][210][210][211][195][200][197][210][211][160][194][193][204][201][206],"
  851. 8600 print"         [200][197][210][210] [214][207][206] [205][193][210][201][207]"
  852. 8610 print"[215]ir koennen nicht hinaus.[215]ir koennen"
  853. 8620 print"nicht hinaus.[211]ie haben die [194]ruecke und"
  854. 8630 print"die zweite [200]alle genommen.[198]rar und [204]oni"
  855. 8640 print"und [206]ali fielen dort.[196]er [211]ee reicht bis"
  856. 8650 print"zur [215]and am [215]esttor.[196]er [215]aechter im"
  857. 8660 print"[215]asser hat [207]in gepackt.[215]ir koennen nicht";
  858. 8670 print"hinaus.[196]as [197]nde kommt.[212]rommeln.[212]rommeln"
  859. 8680 print"in der [212]iefe."
  860. 8690 print"   [211] ie ko m me n."
  861. 8700 goto8550
  862. 8710 pokevi+21,0:poke53281,14:poke53280,0
  863. 8720 print"[147]du bist aus der [205]ine entkommen!"
  864. 8730 print"du hast das [218]iel erreicht und eine"
  865. 8740 print"[197]tappe deines [215]eges zurueckgelegt. wie"
  866. 8750 print"es weitergeht, kannst du in dem buch"
  867. 8760 print"       'der herr der ringe'"
  868. 8770 print"weiterlesen, wenn es dir gefallen hat.":poke198,0:wait198,1:sys64738
  869.