home *** CD-ROM | disk | FTP | other *** search
/ Compute! Gazette 1985 February / 1985-02.d64 / crypt_64 (.txt) < prev    next >
Commodore BASIC  |  2022-09-20  |  11KB  |  387 lines

  1. 0 remopen15,8,15,"s0:dungeon/64":close15:save"0:dungeon/64",8
  2. 100 print"[147]please wait"
  3. 101 sn=54272:fori=sntosn+24:pokei,0:next:ad=54277:sr=ad+1:lf=sn:lh=sn+1
  4. 102 cr=sn+4:vl=54296
  5. 103 pokead,16:pokesr,240
  6. 104 pokevl,15
  7. 110 gosub820:gosub1810
  8. 115 t$="                                        [146]":p=5:sc=0:lv=1
  9. 116 fori=1to4:rm(i)=0:next
  10. 120 s$="  [146]                                      [146]"
  11. 125 poke49194,7
  12. 130 deffnrx(x)=int(rnd(1)*87)+x:deffnry(y)=int(rnd(1)*57)+y:poke53280,0
  13. 140 poke53281,0:pl=1524:px=20:py=12:opl=1524:pokepl,81:pokepl+54272,4:en=53269
  14. 150 pokeen,255:poke49192,0:lv=1:sc=0:cs=53278:cd=53279:gosub330:goto115
  15. 160 print"[147]";:print:printt$;s$;s$;:gosub180:prints$;s$;:gosub180:prints$;s$;t$
  16. 170 print"":return
  17. 180 print"  [146]  [176][192][192][192][192][192][192][192][192][192][192][192][192][192][174]  [176][192][192][192][192][192][192][192][192][192][192][192][192][192][174]    [146]";
  18. 190 print"  [146]  [221]             [221]  [221]             [221]    [146]";
  19. 200 print"  [146]  [221]             [221]  [221]             [221]    [146]";
  20. 210 print"  [146]  i             i  i             i    [146]";
  21. 220 print"  [146]  [221]             [221]  [221]             [221]    [146]";
  22. 230 print"  [146]  [221]             [221]  [221]             [221]    [146]";
  23. 240 print"  [146]  [173][192][192][192][192][192][192][192][192][192][192][192][192][192][189]  [173][192][192][192][192][192][192][192][192][192][192][192][192][192][189]    [146]";
  24. 250 return
  25. 260 print"[147]";:print:printt$;
  26. 270 fori=1to20:prints$;:next:printt$:print"":print"";
  27. 280 d$="[182][181]                                    [182][181]":printd$;d$;d$;d$:return
  28. 290 print"[158]  score"sc"   level"lv"   lives"p"[154]":
  29. 291 print"":return
  30. 330 iftc<>4then340
  31. 335 tc=0:fori=1to4:rm(i)=0:next:lv=lv+1:gosub880
  32. 336 iflv/4=int(lv/4)thenp=p+1:v=7-int(lv/4):ifv>=0thenpoke49194,v
  33. 340 poke49192,0:poke53269,0:gosub160:gosub290:ifp=0then610
  34. 341 ifrm(1)=1thenpoke1315,160
  35. 342 ifrm(2)=1thenpoke1332,160
  36. 343 ifrm(3)=1thenpoke1675,160
  37. 344 ifrm(4)=1thenpoke1692,160
  38. 350 pokepl,81:pokepl+54272,4
  39. 360 m=peek(56320):m=(mand15)
  40. 370 ifm=15 then 360
  41. 380 dx=((m>8)and(m<12))-(m<8)
  42. 390 dy=((m=6)or(m=10)or(m=14))-((m=5)or(m=9)or(m=13))
  43. 400 px=px+dx:py=py+dy
  44. 410 pl=(py*40)+1024+px:ifpeek(pl)<>32then430
  45. 420 pokeopl,32:pokeopl+54272,0:pokepl,81:pokepl+54272,4:opl=pl:goto360
  46. 430 ifpeek(pl)<>9thengoto590
  47. 440 ifpy=7thenrm=1
  48. 450 ifpy=16thenrm=3
  49. 460 ifpx>19thenrm=rm+1
  50. 470 ifrm=1thencl=6
  51. 480 ifrm=2thencl=7
  52. 490 ifrm=3thencl=5
  53. 500 ifrm=4thencl=2
  54. 510 poke53292,cl
  55. 520 ifrm(rm)=1thenpx=px-dx:py=py-dy:pl=(py*40)+1024+px:opl=pl:goto420
  56. 530 fori=1to4:poke2040+i,230+rm:poke53287+i,cl+1:next:poke2045,235+rm:gosub650
  57. 540 x=peek(53248):y=peek(53249)
  58. 550 ifx<=46thenpx=-3*((rm=1)or(rm=3))-20*((rm=2)or(rm=4))
  59. 560 ifx>46thenpx=-19*((rm=1)or(rm=3))-36*((rm=2)or(rm=4))
  60. 570 py=-7*((rm=1)or(rm=2))-16*((rm=3)or(rm=4)):pl=(py*40)+1024+px:opl=pl
  61. 580 goto330
  62. 590 px=px-dx:py=py-dy
  63. 600 goto360
  64. 610 print"[158]game over[146]"
  65. 611 print"press any key to play again[154][146]":poke198,0
  66. 612 wait198,1
  67. 613 print"[147]":return
  68. 650 pokeopl,32:pokeopl+54272,0:pokepl,81:pokepl+54272,4:gosub260:gosub290
  69. 660 ifpx=18orpx=35then680
  70. 670 x=45:y=145:poke53264,peek(53264)and254:poke49189,0:goto690
  71. 680 x=45:y=145:poke53264,peek(53264)or1:poke49189,1
  72. 690 poke53248,x:poke53249,y:poke53264,peek(53264)and1:poke53269,0
  73. 700 pl=53250:pokepl,fnrx(58):pokepl+1,fnry(67):pokepl+2,fnrx(169)
  74. 710 pokepl+3,fnry(67):pokepl+4,fnrx(58):pokepl+5,fnry(146)
  75. 720 pokepl+6,fnrx(167):pokepl+7,fnry(146)
  76. 730 pokepl+8,int(rnd(1)*222)+33:pokepl+9,int(rnd(1)*139)+66:pokeen,255
  77. 740 gosub900:poke49178,0
  78. 750 sys49152:a=peek(49178)
  79. 760 ifa=1thenpoke49178,0:poke49190,0:return
  80. 770 ifa<>2then800
  81. 780 poke49178,0:poke49190,0:p=p-1:ifrm(rm)=1thenrm(rm)=0:sc=sc-300:tc=tc-1
  82. 785 fori=20to0step-1:pokelh,i:pokecr,17:forw=1to20:next:pokecr,16:next
  83. 790 pokecr,0:poke53261,0:return
  84. 800 ifa<>3then810
  85. 801 sc=sc+300:gosub290:tc=tc+1:poke49178,0:rm(rm)=1:poke53261,0
  86. 802 fori=0to100step10:pokelh,i:pokecr,17:forw=1to20:next:pokecr,16:next
  87. 803 pokecr,0:goto750
  88. 810 poke49178,0:poke49190,0:sc=sc+10:gosub290:goto750
  89. 820 poke2040,230:poke2041,231:poke2042,232:poke2043,233:poke2044,234
  90. 830 poke2045,236:poke2046,235
  91. 840 ch=0:fori=14720to15359:reada:pokei,a:ch=ch+a:next
  92. 845 ifch<>45651thenprint"bad data in sprite definitions":end
  93. 850 return
  94. 880 pokeen,0:print"[147]you have achieved level ";lv" !"
  95. 890 forw=1to1000:next:return
  96. 900 a=peek(49189):ona+1goto910,920
  97. 910 a=1424:goto930
  98. 920 a=1462
  99. 930 fori=atoa+120step40:pokei,160:pokei+1,160:nexti:return
  100. 960 data0,60,0,0,126,0,0,219
  101. 970 data0,0,255,0,0,255,0,0
  102. 980 data126,0,0,60,0,1,255,128
  103. 990 data3,255,192,3,126,192,3,126
  104. 1000 data192,3,126,192,3,126,192,3
  105. 1010 data126,192,0,102,0,0,102,0
  106. 1020 data0,102,0,0,102,0,0,102
  107. 1030 data0,0,102,0,0,231,0,0
  108. 1050 data0,0,0,0,0,0,0,0
  109. 1060 data112,0,0,216,0,1,240,0
  110. 1070 data1,192,0,1,192,0,0,224
  111. 1080 data0,0,56,0,0,28,0,0
  112. 1090 data14,0,240,14,131,252,14,199
  113. 1100 data255,14,207,15,158,254,7,252
  114. 1110 data124,3,248,56,0,224,0,0
  115. 1120 data0,0,0,0,0,0,0,0
  116. 1140 data0,0,0,12,0,48,30,0
  117. 1150 data120,18,24,72,51,60,204,97
  118. 1160 data60,134,13,153,176,30,255,120
  119. 1170 data51,127,204,45,255,180,110,255
  120. 1180 data118,219,255,219,53,255,172,110
  121. 1190 data255,118,219,255,219,48,60,12
  122. 1200 data32,24,4,96,0,6,64,0
  123. 1210 data2,64,0,2,0,0,0,0
  124. 1230 data0,24,0,0,60,0,0,126
  125. 1240 data0,0,195,0,0,195,0,0
  126. 1250 data102,0,0,60,0,0,255,0
  127. 1260 data1,255,128,3,189,192,3,189
  128. 1270 data192,7,126,224,7,126,224,9
  129. 1280 data126,144,16,255,8,9,126,144
  130. 1290 data6,255,96,0,255,0,1,255
  131. 1300 data128,3,255,192,0,0,0,0
  132. 1320 data2,0,64,14,66,112,63,90
  133. 1330 data252,127,255,254,255,129,255,255
  134. 1340 data165,255,221,129,187,136,195,17
  135. 1350 data0,195,0,0,102,0,0,126
  136. 1360 data0,0,60,0,0,60,0,0
  137. 1370 data60,0,0,60,0,16,56,0
  138. 1380 data48,248,0,255,224,0,127,128
  139. 1390 data0,48,0,0,16,0,0,16
  140. 1410 data0,0,0,0,0,0,0,0
  141. 1420 data0,0,0,0,0,0,0,0
  142. 1430 data0,0,0,126,0,1,153,128
  143. 1440 data2,60,64,6,255,96,6,255
  144. 1450 data96,2,60,64,1,153,128,0
  145. 1460 data126,0,0,0,0,0,0,0
  146. 1470 data0,0,0,0,0,0,0,0
  147. 1480 data0,0,0,0,0,0,0,255
  148. 1490 data0,0,0,0,0,0,0,0
  149. 1500 data0,0,0,0,0,0,0,0
  150. 1510 data0,0,0,0,0,0,0,0
  151. 1520 data0,0,0,63,255,252,96,0
  152. 1530 data6,192,0,3,255,255,255,192
  153. 1540 data20,3,192,28,3,192,0,3
  154. 1550 data192,0,3,255,255,255,0,0
  155. 1560 data0,0,0,0,0,0,0,255
  156. 1570 data0,0,0,0,0,0,0,0
  157. 1580 data0,0,0,0,0,0,0,0
  158. 1590 data0,0,0,0,0,97,255,134
  159. 1600 data146,0,73,147,129,201,137,255
  160. 1610 data145,135,255,225,128,255,1,65
  161. 1620 data255,130,34,126,68,28,60,56
  162. 1630 data0,255,0,3,255,192,31,255
  163. 1640 data248,0,0,0,0,0,0,255
  164. 1650 data1,255,128,3,255,192,7,129
  165. 1660 data224,12,195,48,24,102,24,56
  166. 1670 data60,28,60,126,60,54,195,108
  167. 1680 data51,153,204,49,189,140,49,189
  168. 1690 data140,51,153,204,54,195,108,60
  169. 1700 data126,60,56,60,28,24,102,24
  170. 1710 data12,195,48,7,129,224,3,255
  171. 1720 data192,1,255,128,0,0,0,0
  172. 1730 data0,0,0,0,0,0,0,0
  173. 1740 data0,0,0,0,0,126,0,0
  174. 1750 data195,0,0,195,0,0,126,0
  175. 1760 data0,60,0,0,60,0,0,60
  176. 1770 data0,0,126,0,0,255,0,0
  177. 1780 data255,0,1,255,128,1,255,128
  178. 1790 data3,255,192,3,255,192,3,255
  179. 1800 data192,1,255,128,0,255,0,0
  180. 1810 ch=0:i=49152:ifpeek(i)=76thenreturn
  181. 1820 read a:ch=ch+a:ifa=256then1840
  182. 1830 pokei,a:i=i+1:goto1820
  183. 1840 ifch<>141279thenprint"bad data error in ml data.":end
  184. 1850 return
  185. 1860 data 76,24,194,1,2,4
  186. 1870 data 8,16,32,64,128,254
  187. 1880 data 253,251,247,239,223,191
  188. 1890 data 127,0,0,0,0,0
  189. 1900 data 0,0,0,0,0,0
  190. 1910 data 0,0,0,0,0,0
  191. 1920 data 0,0,0,0,0,0
  192. 1930 data 0,0,173,20,192,10
  193. 1940 data 168,141,19,192,185,0
  194. 1950 data 208,141,21,192,172,20
  195. 1960 data 192,185,3,192,45,16
  196. 1970 data 208,141,22,192,172,19
  197. 1980 data 192,185,1,208,141,23
  198. 1990 data 192,173,21,192,24,109
  199. 2000 data 24,192,141,21,192,201
  200. 2010 data 255,240,19,201,0,240
  201. 2020 data 3,76,129,192,172,20
  202. 2030 data 192,185,3,192,141,22
  203. 2040 data 192,76,129,192,173,24
  204. 2050 data 192,16,12,173,21,192
  205. 2060 data 201,255,208,5,169,0
  206. 2070 data 141,22,192,173,23,192
  207. 2080 data 24,109,25,192,141,23
  208. 2090 data 192,172,20,192,173,22
  209. 2100 data 192,240,12,185,3,192
  210. 2110 data 13,16,208,141,16,208
  211. 2120 data 76,168,192,185,11,192