Advertisement
Sim_Piko

ISLE.BAS

Feb 11th, 2023 (edited)
6,034
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 17.41 KB | None | 0 0
  1. ISLE.BAS from THE FORGOTTEN ISLAND
  2.  
  3. 10 N0=0:N1=1:SETCOLOR 2,N0,N0:D=N1:POKE 559,N0:LAN=N1:DP=N0:SHIP=103:PL=INT(RND(1)*50)
  4. 15 DIM FGT$(20),B(14),C$(18),F$(15),W$(20),TR(9),NU(9),S(5),K(4):F$="D:ISLE.FNT":GOSUB 20000:FOR A=1 TO 14:B(A)=0:NEXT A
  5. 16 FOR A=1 TO 4:K(A)=0:NEXT A
  6. 17 IF PEEK(1791)<>N0 THEN GOSUB 300:GOTO 20
  7. 18 EX=100:GD=5:F$="D:ISLE.MA1":X=103:Y=60:ENT=34396
  8. 20 GOSUB 20000:ADD=28672:MAP=ENT:POKE ADD+X+(Y*128),85:ZAP=MAP:GOSUB 15030:GOSUB 7700:GOSUB 8000:POKE 764,255
  9. 30 POKE 1791,N0:GOSUB 7237:GOSUB 32010:GOTO 7000
  10. 200 POKE 764,255:? "}WOULD YOU LIKE TO SAVE          THIS GAME?  (YnN)";:GOSUB 6110:IF K<>89 THEN 7000
  11. 202 GOSUB 204:? "}SAVED>>>>"
  12. 203 GOTO 203
  13. 204 OPEN #1,8,0,"D:SAVE":FOR A=1 TO 12:B=B(A):? #1;B:NEXT A:FOR A=1 TO 4:B=K(A):? #1;B:NEXT A:CLOSE #1
  14. 205 GOSUB 7430:OPEN #N1,8,N0,"D:POS":? #N1;D:? #N1;MAP:? #N1;X:? #N1;Y:? #N1;LEV:? #N1;DK:CLOSE #N1:RETURN
  15. 215 GOTO 215
  16. 300 OPEN #N1,4,N0,"D:POS":INPUT #N1;D:INPUT #N1;ENT:INPUT #N1;X:INPUT #N1;Y:INPUT #N1;LEV:INPUT #N1;DK:CLOSE #N1
  17. 305 OPEN #1,4,N0,"D:PASS":INPUT #1;GD:INPUT #1;EX:INPUT #1;DAY:INPUT #1;KI:CLOSE #1
  18. 307 OPEN #1,4,0,"D:SAVE":FOR A=1 TO 12:INPUT #1;B:B(A)=B:NEXT A:FOR A=1 TO 4:INPUT #1;B:K(A)=B:NEXT A:CLOSE #1
  19. 310 IF D=1 THEN F$="D:ISLE.MA1":LET TS=0:GOTO 20
  20. 311 IF D=2 THEN F$="D:ISLE.MA2":LET TS=0:GOTO 20
  21. 312 IF D=3 THEN F$="D:ISLE.MA3":LET TS=0:GOTO 20
  22. 313 IF D=4 THEN F$="D:ISLE.MA4":LET TS=0:GOTO 20
  23. 1000 FOR A=1 TO 20:FOR B=1 TO 15:NEXT B:POKE 560,1:SOUND 0,200,8,15:FOR B=1 TO 15:NEXT B:POKE 560,0
  24. 1010 SOUND 0,255,8,15:NEXT A:SOUND 0,0,0,0:GOSUB 7920:RETURN
  25. 4000 ? "}";C$;" IS ATTACKING!!!":GOSUB 7970:P=1:Q=0:GOTO 4020
  26. 4010 ? "}YOU ARE ATTACKING ";C$;"!!!":P=0:Q=1:GOSUB 7960
  27. 4020 REM IS ATTACKING
  28. 4041 IF EX=1800 THEN HP=22
  29. 4042 IF EX=3500 THEN HP=29
  30. 4043 IF EX=5500 THEN HP=28
  31. 4044 LET HP=INT(EX/15)
  32. 4045 IF PT=1500 THEN EP=23
  33. 4046 IF PT=2000 THEN EP=22
  34. 4047 IF PT=5000 THEN EP=28
  35. 4070 PRINT "}YOUR HIT POINTS n ";HP:PRINT "                        ";FGT$;"'S HIT POINTS n ";EP;
  36. 4072 GOSUB 7920
  37. 4080 PRINT "}DO YOU WISH TO ATTACK OR FLEE?             (A OR F)"
  38. 4085 GOSUB 6110:IF K=65 THEN 4110
  39. 4087 IF K=70 THEN 4090
  40. 4088 GOTO 4085
  41. 4090 IF INT(RND(1)*5)=3 THEN ? "YOU GOT AWAY!!":TS=0:LET D=1:CLOSE #1:HIT=0:GOTO 12000
  42. 4091 IF INT(RND(1)*5)=3 THEN ? "YOU GOT AWAY!!":TS=0:LET D=1:CLOSE #1:HIT=0:GOTO 12000
  43. 4092 IF INT(RND(1)*5)=3 THEN ? "YOU GOT AWAY!!":TS=0:LET D=1:CLOSE #1:HIT=0:GOTO 12000
  44. 4100 ? "}YOU DID NOT GET AWAY!":GOSUB 7950:AD=1:GOTO 4115
  45. 4101 GOTO 4101
  46. 4110 AD=INT(RND(1)*3)+1
  47. 4115 ? "}PUSH THE RED BUTTON TO ATTACK"
  48. 4116 IF STRIG(0)=0 THEN GOTO 4300
  49. 4117 GOTO 4116
  50. 4160 IF EP<1 THEN ? "}YOU HAVE KILLED ";FGT$;"!!!":GOSUB 7930:LET EX=INT(EX+PT/35):GOTO 4190
  51. 4180 IF HP<1 THEN ? "}";FGT$;" HAS SLAIN YOU!":GOSUB 7920:GOTO 9000
  52. 4185 IF HP>0 AND EP>0 THEN 4200
  53. 4190 POKE ADD+MX+(MY*128),0:KI=KI+1:RI=0:HIT=0:LET KL=0:GOSUB 7700:GOSUB 7500:GOTO 7000
  54. 4200 IF AD=1 THEN ? "}";FGT$;" HAD A DIRECT HIT!!!":GOSUB 7920
  55. 4210 IF AD=2 THEN ? "}YOU GOT IN A SOLID PUNCH!!":GOSUB 7920
  56. 4211 IF AD=3 THEN ? "}WOW, YOU SMASHED HIM!!!!!!":GOSUB 7920
  57. 4220 ? "}";FGT$;" IS ATTACKING!!!":GOSUB 7900:GOTO 4070
  58. 4300 FOR M=1 TO 5:FOR Z=1 TO 5:SETCOLOR 4,4,5:NEXT Z:GOSUB 7960:FOR Z=1 TO 5:SETCOLOR 4,4,15:NEXT Z:NEXT M:SETCOLOR 4,0,0
  59. 4310 IF AD=1 THEN R1=INT(RND(1)*10)+10:R2=INT(RND(1)*10)
  60. 4320 IF AD=2 THEN R2=INT(RND(1)*10)+10:R1=INT(RND(1)*10)
  61. 4321 IF AD=3 THEN R2=INT(RND(1)*10)+10:R1=INT(RND(1)*10)
  62. 4330 PRINT "}PRESS RED BUTTON TO CALCULATE"
  63. 4331 PRINT "                        YOU LOSE n ";R1;"  AND HE LOSES n ";R2;" ";
  64. 4340 IF STRIG(0)=0 THEN 4360
  65. 4350 GOTO 4310
  66. 4360 HP=HP-R1:EP=EP-R2:GOSUB 7930:GOTO 4160
  67. 4990 FOR A=1 TO 300:NEXT A:RETURN
  68. 5000 TRAP 5999:GRAPHICS 0:SETCOLOR 2,0,0:POKE 82,2
  69. 5005 S(1)=100:S(2)=50:S(3)=90:S(4)=500:S(5)=600
  70. 5010 ? :? "YOU MAY BUY THE FOLLOWING"
  71. 5015 ? :? "# ITEM                 PRICE"
  72. 5020 ? "09-METAL AXE":? "10-STRINGY ROPE":? "11-OLD LAMP":? "12-SMALL STRAW RAFT":? "13-FIRST AID"
  73. 5025 FOR A=1 TO 5:POSITION 25,A+4:? S(A)+PL:NEXT A
  74. 5030 ? "ITEM # YOU WOULD LIKE TO BUY(9-13)";:INPUT I:IF I<9 OR I>13 THEN 5000
  75. 5035 IF GD-(S(I-8)+PL)<0 THEN ? "YOU DON'T HAVE ENOUGH GOLD...":GOTO 6100
  76. 5040 GD=GD-(S(I-8)+PL):B(I)=B(I)+1:IF I=13 THEN EX=EX+240:GOTO 6100
  77. 5999 RETURN
  78. 6000 DATA ALCEMNON'S DIARY,PAN'S FLUTE,SAFRON'S CLOAK,THE SCROLL OF TRUTH,AMADAS,FLARE GUN,GOGMAGOG,KEY TO E
  79. 6005 DATA METAL AXE(S),STRINGY ROPE(S),OLD LAMP(S),STRAW RAFT(S),FIRST AID KIT(S)
  80. 6010 POKE 82,2:RESTORE :GRAPHICS 0:SETCOLOR 2,0,0:? "            INVENTORY":? :? "ITEM              AMOUNT":?
  81. 6030 FOR A=1 TO 13:READ W$:IF B(A)<1 THEN NEXT A:GOTO 6050
  82. 6035 IF CNT=0 THEN CNT=4
  83. 6040 ? W$:POSITION 22,CNT:? B(A):LET CNT=CNT+1:NEXT A
  84. 6050 ? :? "YOU HAVE ";GD;" GOLD PIECES":? "POWER:";EX:? "DAY:";DAY:?
  85. 6100 ? "PRESS RETURN TO CONTINUE";
  86. 6101 LET CNT=0
  87. 6110 CLOSE #1:OPEN #1,4,0,"K:":GET #1,K:CLOSE #1:RETURN
  88. 7000 POKE 559,37:NX=X:NY=Y:ZAP=MAP:CO=85:K=PEEK(764):IF K<>255 THEN POKE 764,255:GOSUB 7250
  89. 7002 TM=TM+1:IF TM>20 THEN DAY=DAY+1:IF TM>20 THEN EX=EX+2:TM=0
  90. 7003 IF KL=0 THEN GOSUB 7500
  91. 7004 IF HIT=1 THEN GOTO 4000
  92. 7005 IF DK=1 AND B(11)=0 THEN SETCOLOR 1,0,0
  93. 7006 TRAP 7006:IF D=1 AND X<1 AND B(4)=1 THEN POKE 1792,1:GOSUB 204:RUN "D:START"
  94. 7008 A=STICK(N0):IF A=14 THEN NY=NY-1:GOTO 7100
  95. 7009 IF A=13 THEN NY=NY+1:GOTO 7100
  96. 7010 IF A=11 THEN NX=NX-1:GOTO 7100
  97. 7011 IF A=10 THEN NY=NY-1:NX=NX-1:GOTO 7100
  98. 7012 IF A=6 THEN NY=NY-1:NX=NX+1:GOTO 7100
  99. 7013 IF A=9 THEN NY=NY+1:NX=NX-1:GOTO 7100
  100. 7014 IF A=5 THEN NY=NY+1:NX=NX+1:GOTO 7100
  101. 7015 IF A=7 THEN NX=NX+1:GOTO 7100
  102. 7016 IF STRIG(0)=0 THEN SETCOLOR 4,4,5:PRINT "} YOU PUSHED THE RED BUTTON!!!!!":GOSUB 7920:SETCOLOR 4,0,0
  103. 7050 GOTO 7000
  104. 7100 TR=0
  105. 7106 HIT=N0:? "}";:C=PEEK(ADD+NX+(NY*128)):IF C<>N0 THEN 7300
  106. 7110 IF NX<N0 OR NY<N0 OR NY>79 OR NX>127 THEN NX=X:NY=Y:GOTO 7130
  107. 7120 SOUND 1,INT(RND(100)*10),8,7:POKE ADD+NX+(NY*128),CO:SOUND 1,0,0,0:POKE ADD+X+(Y*128),OC:OC=C:X=NX:Y=NY
  108. 7130 SY=INT((ZAP-ADD)/128):SX=(ZAP-ADD)-SY*128
  109. 7140 IF NX<SX+4 THEN ZAP=ZAP-1:FL=1:GOSUB 15030
  110. 7150 IF NX>SX+27 THEN ZAP=ZAP+1:FL=1:GOSUB 15030
  111. 7160 IF NY<SY+3 THEN ZAP=ZAP-128:FL=0:GOSUB 15030
  112. 7170 IF NY>SY+16 THEN ZAP=ZAP+128:FL=0:GOSUB 15030
  113. 7198 IF STRIG(0)=0 THEN SETCOLOR 4,4,5:PRINT "} YOU PUSHED THE RED BUTTON!!!!!":GOSUB 7920:SETCOLOR 4,0,0
  114. 7199 GOTO 7000
  115. 7200 PRINT "}"
  116. 7235 RI=N0:KL=0:ZAP=MAP:GOSUB 15030
  117. 7236 POKE ADD+X+(Y*128),85:GOSUB 15030
  118. 7237 FOR A=1 TO 9
  119. 7238 L=INT(RND(1)*10230)+28673:IF PEEK(L)<>0 THEN 7238
  120. 7239 TR(A)=L:POKE L,26
  121. 7240 NU(A)=INT(RND(1)*150)+2
  122. 7241 NEXT A:RETURN
  123. 7250 IF K=62 THEN 200
  124. 7255 IF K=40 AND B(1)=1 THEN GOSUB 11000
  125. 7260 IF K=13 THEN GOSUB 6000:GOSUB 32010
  126. 7270 IF K=45 AND TR=1 THEN GOSUB 5000:GOSUB 32010
  127. 7290 POKE 764,255:RETURN
  128. 7300 IF C<>62 OR D=3 THEN 7307
  129. 7301 IF D=1 AND B(1)=0 THEN ? "}",,,"   YOU HAVE BURNED IN THE DEADLY   FIRES OF THE VOLCANO!!!":GOSUB 7920:GOSUB 7910:GOTO 9000
  130. 7302 IF D=1 AND B(1)=1 THEN ? "}";:? "                                   DO YOU WISH TO ENTER? (YnN)"
  131. 7303 IF D=1 THEN GOSUB 6110:IF D=3 THEN GOTO 7307
  132. 7304 IF K=89 THEN D=3:F$="D:ISLE.MA3":POKE 559,0:LET MAP=32560:X=63:Y=40:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  133. 7305 IF K=78 THEN ? "}":GOTO 7000
  134. 7306 IF D=1 THEN GOTO 7303
  135. 7307 IF C<>62 THEN GOTO 7313
  136. 7308 IF D=3 AND B(1)=1 THEN ? "}";:? "                                   DO YOU WISH TO ENTER? (YnN)"
  137. 7309 GOSUB 6110
  138. 7310 IF K=89 THEN D=1:F$="D:ISLE.MA1":POKE 559,0:LET MAP=30536:X=93:Y=19:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  139. 7311 IF K=78 THEN ? "}":GOTO 7000
  140. 7312 GOTO 7309
  141. 7313 LOC=NX+ADD+(NY*128)
  142. 7314 IF C<>26 THEN 7319
  143. 7315 FOR A=1 TO 9:IF LOC<>TR(A) THEN NEXT A:GOTO 7110
  144. 7316 GOSUB 7940:? "}YOU HAVE FOUND ";NU(A);" GOLD PIECES":GD=GD+NU(A):C=0
  145. 7319 IF D=4 AND B(12)<>0 THEN CO=85:IF C>85 AND C<96 OR C>63 AND C<85 THEN PRINT "GOOD LUCK!":LET CO=112:GOTO 7110
  146. 7320 IF C>85 AND C<96 OR C>63 AND C<85 THEN PRINT "}ARE YOU GOING TO SWIM?":GOSUB 7928:LET EX=EX-5:GOTO 7000
  147. 7322 IF C=84 THEN GOTO 7110
  148. 7323 IF C=109 THEN ? "}YOU HAVE SHOT ALCEMNON'S FLARE  GUN!!":GOSUB 1000:GOSUB 204:POKE 1792,1:RUN "D:START"
  149. 7324 IF C=108 THEN PRINT "}YOU PICKED UP SAFRON'S CLOAK!":GOSUB 7920:LET B(3)=1:LET C=0:LET EX=EX+100:GOTO 7110
  150. 7330 IF D=3 AND C=117 AND MN=0 AND B(2)=1 THEN POKE XM+ADD+(YM*128),0:LET MN=1:LET NY=NY+1:C=0:GOSUB 7700:GOTO 7332
  151. 7331 IF D=3 AND C=117 AND MN=1 THEN POKE XM+ADD+(YM*128),0:LET MN=0:LET NY=NY-1:GOSUB 7700:C=0:GOTO 7332
  152. 7332 IF D=3 AND C=117 AND MN=0 AND B(2)=0 THEN PRINT "}YOU MAY NOT ENTER WITHOUT PAN'S FLUTE!":GOSUB 7938:GOTO 7000
  153. 7334 IF C<>107 THEN GOTO 7340
  154. 7335 IF C=107 THEN B(1)=1:? "}YOU HAVE FOUND ALCEMNON'S DIARY!";:EX=EX+125:GOSUB 7930:? "DO YOU WISH TO READ IT?(YnN)"
  155. 7336 GOSUB 6110:IF K=89 THEN C=0:GOSUB 11000:GOTO 7110
  156. 7337 IF K=78 THEN C=0:? "}":GOTO 7110
  157. 7340 IF C=122 THEN ? "}YOU HAVE FOUND PAN'S FLUTE!!!":EX=EX+150:GOSUB 7916:LET B(2)=1:LET C=0:GOTO 7110
  158. 7345 IF C=119 AND DK=0 AND D=1 THEN NX=NX-1:DK=1:C=0:GOTO 7360
  159. 7347 IF C=119 AND DK=1 AND D=1 THEN NX=NX+1:DK=0:SETCOLOR 1,0,10:C=0
  160. 7348 IF D<>3 THEN GOTO 7360
  161. 7349 IF C<>118 THEN GOTO 7360
  162. 7350 IF D=3 AND C=118 THEN ? "}DO YOU WISH TO ENTER?"
  163. 7351 IF D=3 AND C=118 THEN GOSUB 6110
  164. 7352 IF K=89 THEN D=4:F$="D:ISLE.MA4":POKE 559,0:LET MAP=28672:X=15:Y=8:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  165. 7354 IF K=78 THEN ? "}":GOTO 7000
  166. 7355 GOTO 7351
  167. 7360 IF C=13 THEN ? "}WELCOME!!!":TR=1:GOTO 7110
  168. 7361 IF D=2 THEN CLK=1
  169. 7364 IF D=4 AND C=118 THEN GOTO 7366
  170. 7365 GOTO 7371
  171. 7366 IF C=118 THEN ? "}DO YOU WISH TO ENTER? (YnN)"
  172. 7367 IF C=118 THEN GOSUB 6110
  173. 7368 IF K=89 THEN D=3:F$="D:ISLE.MA3":POKE 559,0:LET MAP=36416:X=79:Y=68:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  174. 7369 IF K=78 THEN ? "}":GOTO 7000
  175. 7370 IF C=118 THEN GOTO 7367
  176. 7371 IF SHIP=C THEN GOSUB 4010:GOTO 7000
  177. 7372 IF D=4 AND C=120 THEN ? "}DO YOU WISH TO ENTER? (YnN)"
  178. 7373 IF D=4 AND C=120 THEN GOSUB 6110
  179. 7374 IF K=89 THEN D=2:F$="D:ISLE.MA2":POKE 559,0:LET MAP=29534:X=103:Y=16:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  180. 7375 IF K=78 THEN ? "}":GOTO 7000
  181. 7376 IF D=4 AND C=120 THEN GOTO 7373
  182. 7377 IF D=4 AND C=121 THEN ? "}DO YOU WISH TO ENTER? (YnN)"
  183. 7378 IF C=121 THEN GOSUB 6110
  184. 7379 IF K=89 THEN D=2:F$="D:ISLE.MA2":POKE 559,0:LET MAP=28681:X=36:Y=1:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  185. 7380 IF D=2 AND C=120 THEN ? "}DO YOU WISH TO ENTER? (YnN)"
  186. 7381 IF C=120 THEN GOSUB 6110
  187. 7382 IF K=89 THEN D=4:F$="D:ISLE.MA4":POKE 559,0:LET MAP=36352:X=2:Y=74:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  188. 7383 IF K=78 THEN ? "}":GOTO 7000
  189. 7384 IF C=120 THEN GOTO 7381
  190. 7385 IF D=2 AND C=118 THEN ? "}DO YOU WISH TO ENTER?"
  191. 7386 IF C=118 THEN GOSUB 6110
  192. 7387 IF K=89 THEN D=4:F$="D:ISLE.MA4":POKE 559,0:LET MAP=36352:X=14:Y=74:GOSUB 20000:GOSUB 7200:POKE 559,37:OC=0:GOSUB 8000:GOTO 7000
  193. 7388 IF K=78 THEN ? "}":GOTO 7000
  194. 7389 IF C=118 THEN GOTO 7386
  195. 7390 IF C=30 OR C=111 OR C=112 OR C=114 OR C=115 THEN PRINT "}OUCH!!!":FOR A=15 TO N0 STEP -1:SOUND N0,10,8,A:NEXT A:GOTO 7000
  196. 7391 IF C=98 OR C=96 OR C=59 OR C=15 OR C=11 OR C=10 OR C>2 AND C<7 THEN PRINT "}ARE YOU GOING TO DIG?":GOSUB 7938:LET EX=EX-5:GOTO 7000
  197. 7392 IF C=97 OR C=113 THEN CO=85:IF B(3)=0 THEN PRINT "}WINGED DEMONS HAVE EATEN YOU!!":GOSUB 7926:GOTO 9000
  198. 7393 IF C=97 OR C=113 AND B(4)<>0 THEN GOTO 7110
  199. 7398 LET EB=EB+1:IF EB=10 THEN ? "}YOUR STATUS IS CURRENTLYn       DAYn ";DAY;" GOLDn ";GD;"  POWERn ";EX:LET EB=0:GOSUB 7930
  200. 7400 GOTO 7110
  201. 7430 OPEN #1,8,0,"D:PASS":? #1;GD:? #1;EX:? #1;DAY:? #1;KI:CLOSE #1:RETURN
  202. 7460 FOR A=1 TO 10:FOR B=15 TO 0 STEP -1:SOUND 0,15,2,B:SOUND 0,20,2,B:NEXT B:NEXT A:RETURN
  203. 7500 IF RI=0 THEN RI=1:GOSUB 7700:MX=XM:MY=YM
  204. 7510 AP=INT(RND(1)*5):ON AP GOTO 7550,7555,7560,7565:RETURN
  205. 7540 IF K=78 THEN GOTO 7000
  206. 7550 MX=XM-1:IF NX>MX THEN MX=XM+1:GOTO 7590
  207. 7555 MY=YM-1:IF NY>MY THEN MY=YM+1:GOTO 7590
  208. 7560 MX=XM+1:IF NX<MX THEN MX=XM-1:GOTO 7590
  209. 7565 MY=YM+1:IF NY<MY THEN MY=YM-1:GOTO 7590
  210. 7590 HIT=0:CM=PEEK(ADD+MX+(MY*128)):IF MX=NX AND MY=NY THEN MX=XM:MY=YM:HIT=1:RETURN
  211. 7591 IF CM<>0 THEN MX=XM:MY=YM:RETURN
  212. 7592 IF X>XM-30 AND X<XM-5 OR X<XM+30 AND X>XM+5 THEN TS=TS+1:IF TS=7 THEN ? "}";C$;" IS VERY CLOSE!!":GOSUB 7926
  213. 7593 IF Y>YM-30 AND Y<YM-5 OR Y<YM+30 AND Y>YM+5 THEN TS=TS+1:IF TS=7 THEN ? "}";C$;" IS VERY CLOSE!!":GOSUB 7926
  214. 7595 POKE ADD+MX+(MY*128),SHIP:POKE ADD+XM+(YM*128),OCM:OCM=CM:XM=MX:YM=MY:RETURN
  215. 7700 IF D=1 THEN SHIP=104:XM=82:YM=13:OCM=N0:PT=2000:C$="A HARRIS":FGT$="THE HARRIS":RETURN
  216. 7710 IF D=4 THEN XM=100:YM=44:SHIP=105:OCM=N0:PT=1500:C$="A GUARD":FGT$="THE GUARD":RETURN
  217. 7720 IF D=2 THEN SHIP=104:XM=82:YM=13:OCM=N0:PT=2000:C$="A HARRIS":FGT$="THE HARRIS":RETURN
  218. 7730 IF D=3 AND MN=0 THEN XM=110:OCM=N0:YM=10:SHIP=106:PT=5000:C$="A SATYR":FGT$="THE SATYR":RETURN
  219. 7731 IF D=3 AND MN=1 THEN XM=100:OCM=N0:YM=65:SHIP=116:PT=1500:C$="A GIANT MED FLY":FGT$="THE MED FLY":RETURN
  220. 7740 KL=1:RI=0:GOTO 7000
  221. 7900 FOR S1=14 TO 0 STEP -2:FOR S=1 TO 20:SOUND 0,S,10,S1:NEXT S
  222. 7905 FOR S=10 TO 30:SOUND 1,S,10,S1:NEXT S:NEXT S1:RETURN
  223. 7910 FOR S1=15 TO 0 STEP -1:FOR S=1 TO 10:SOUND 0,S,10,S1:NEXT S
  224. 7915 FOR S=20 TO 30:SOUND 1,S,10,S1:NEXT S:NEXT S1:RETURN
  225. 7916 FOR S1=15 TO 0 STEP -1:FOR S=1 TO 10:SOUND 0,S,10,S1:NEXT S
  226. 7917 FOR S=15 TO 25:SOUND 1,S,10,S1:NEXT S:NEXT S1:RETURN
  227. 7920 FOR S1=10 TO 0 STEP -1:FOR S=10 TO 20:SOUND 0,S,10,S1:NEXT S
  228. 7925 FOR S=25 TO 45:SOUND 1,S,10,S1:NEXT S:NEXT S1:RETURN
  229. 7926 FOR S1=15 TO 0 STEP -1:FOR S=10 TO 8:SOUND 0,S,10,S1:NEXT S
  230. 7927 FOR S=30 TO 35:SOUND 1,S,10,S1:NEXT S:NEXT S1:LET TS=0:RETURN
  231. 7928 FOR S1=15 TO 0 STEP -5:FOR S=90 TO 95:SOUND 0,S,10,S1:NEXT S
  232. 7929 LET S=INT(RND(1*10)*10):FOR S=S TO 15:SOUND 1,S,10,S1:NEXT S:NEXT S1:LET TS=0:RETURN
  233. 7930 FOR S1=15 TO 0 STEP -1:FOR S=3 TO 8:SOUND 0,S,10,S1:NEXT S
  234. 7935 FOR S=35 TO 45:SOUND 1,S,10,S1:NEXT S:NEXT S1:RETURN
  235. 7936 FOR S1=15 TO 0 STEP -1:FOR S=10 TO 15 STEP -1:SOUND 0,S,10,S1:NEXT S
  236. 7937 FOR S=20 TO 30:SOUND 1,S,10,S1:NEXT S:NEXT S1:RETURN
  237. 7938 FOR S1=15 TO 0 STEP -3:FOR S=10 TO 15 STEP -1:SOUND 0,S,10,S1:NEXT S
  238. 7939 FOR S=25 TO 30:SOUND 1,S,10,S1:NEXT S:NEXT S1:LET TS=0:RETURN
  239. 7940 FOR S1=15 TO 0 STEP -3:FOR S=40 TO 30 STEP -1:SOUND 0,S,10,S1:NEXT S
  240. 7943 FOR S=15 TO 25:SOUND 1,S,10,S1:NEXT S:NEXT S1:SOUND 1,0,0,0:SOUND 0,0,0,0:RETURN
  241. 7950 FOR S1=10 TO 0 STEP -1:FOR S=90 TO 95:SOUND 0,S,10,S1:NEXT S
  242. 7952 FOR S=100 TO 95 STEP -1:SOUND 1,S,10,S1:NEXT S
  243. 7954 FOR S=40 TO 35 STEP -1:SOUND 2,S,10,S1:NEXT S:NEXT S1:RETURN
  244. 7960 FOR B=10 TO 0 STEP -1:SOUND 0,B+5,2,B:SOUND 0,B+10,2,B:NEXT B:RETURN
  245. 7961 FOR S1=0 TO 15:FOR S=200 TO 205:SOUND 0,S,10,S1:SETCOLOR 2,S1,S-200:NEXT S
  246. 7962 FOR S=205 TO 210:SETCOLOR 2,S1,S-200:SOUND 1,S,10,S1:NEXT S
  247. 7963 FOR S=210 TO 215:SETCOLOR 2,0,0:SOUND 2,S,10,S1:NEXT S:NEXT S1:RETURN
  248. 7970 FOR B=15 TO 0 STEP -0.5:SOUND 0,B+90,8,B:SOUND 1,B+2,8,B:NEXT B:RETURN
  249. 7980 FOR S1=0 TO 15:FOR S=200 TO 205:SOUND 0,S,10,S1:SETCOLOR 2,S1,S-200:NEXT S
  250. 7982 FOR S=205 TO 210:SETCOLOR 2,S1,S-200:SOUND 1,S,10,S1:NEXT S
  251. 7984 FOR S=210 TO 215:SETCOLOR 2,0,0:SOUND 2,S,10,S1:NEXT S:NEXT S1:RETURN
  252. 7990 FOR S=N0 TO 300:NEXT S:RETURN
  253. 8000 IF D=1 AND B(1)=0 THEN POKE 38481,107:? "}"
  254. 8005 IF D=3 AND B(2)=0 THEN POKE 36108,122
  255. 8010 IF D=2 AND B(6)=0 THEN POKE 36460,109
  256. 8015 IF D=4 AND CLK=1 AND B(3)=0 THEN POKE 31204,108
  257. 8020 REM IF D=3 AND B(8)=0 THEN POKE 30093,103
  258. 8025 REM IF D=3 AND B(1)=0 THEN POKE 31164,107
  259. 8030 RETURN
  260. 9000 POKE 752,1:? "}YOU ARE DEAD!!!!!";:GOSUB 7950
  261. 9010 ? "               PRESS ÓÔÁŇÔ TO REINCARNATE";
  262. 9020 IF PEEK(53279)=6 THEN RUN
  263. 9030 IF PEEK(53279)=3 THEN ? "}MARC BENIOFF GREETS YOU>>>>>>":GOSUB 7910:GOSUB 32010:GOTO 7000
  264. 9040 GOTO 9020
  265. 9050 GOTO 9050
  266. 11000 GRAPHICS 0
  267. 11020 SETCOLOR 2,0,0
  268. 11030 PRINT "         ALCEMNON'S DIARY"
  269. 11040 ? :?
  270. 11050 ? "DAY 410: IT HAS BEEN OVER A YEAR SINCE ICAME TO THIS ISLAND TO RETREAT FROM     CIVILIZATION.  I HAVE FINALLY";
  271. 11060 ? " BEEN ABLE TO MAKE FRIENDS WITH THE NATIVES, AND   THEY WILL NOW GREET ME WHEN I ENTER     THEIR HUTS.  I ";
  272. 11070 PRINT "HAVE TO FIGHT THE HARRIS MONSTERS EVERY DAY, BUT MY RESILIENCE   HAS GROWN."
  273. 11075 PRINT
  274. 11080 ? "DAY 536: AS I LIE HERE ON MY DEATH BED, I FEEL I HAD JUST BEEN ATTACKED MY THE  HARRIS' TOO MANY TIMES.  I";
  275. 11090 ? " LEAVE A      MESSAGE TO ANY ONE THAT IS STRANDED ON  THIS ISLAND BY ACCIDENY OR OTHER WISE,  MY MESSAGE IS :"
  276. 11100 ? :? "                TRY THE OTHER SIDE!"
  277. 11101 ? :? :? "PRESS RETURN TO CONTINUE":POKE 752,1
  278. 11102 POKE 752,1:GOSUB 6110
  279. 11103 ? "}"
  280. 11110 ? :? "OH YES, THIS DIARY WILL ALLOW YOU TO    TRAVEL THROUGH THE VOLCANO IF","NECCESSARY, MY QUEST FOR SARFON'S"
  281. 11120 PRINT "CLOAK STILL ELUDES ME....."
  282. 11130 PRINT :PRINT
  283. 11140 PRINT "PRESS RETURN TO CONTINUE"
  284. 11150 GOSUB 6110
  285. 11160 GOSUB 32010:RETURN
  286. 12000 F$="D:ISLE.MA1":LET MAP=34396:POKE 559,0:X=103:Y=60
  287. 12010 GOSUB 20000
  288. 12030 OC=0:HIT=0:KL=0:OCM=0:MN=0
  289. 12060 GOSUB 8000
  290. 12065 GOSUB 7200
  291. 12066 POKE 559,37
  292. 12070 GOTO 7000
  293. 15000 BH=INT(ZAP/256):BL=ZAP-(BH*256):RETURN
  294. 15030 GOSUB 15000:IF ZAP<28672 THEN ZAP=MAP:RETURN
  295. 15040 IF ZAP>36479 THEN ZAP=MAP:RETURN
  296. 15050 IF BL=225 OR BL=97 THEN IF FL=1 THEN ZAP=MAP:RETURN
  297. 15060 IF BL=127 OR BL=255 THEN IF FL=1 THEN ZAP=MAP:RETURN
  298. 15080 MAP=ZAP:POKE N0,BL:POKE 1,BH:U=USR(1664):RETURN
  299. 20000 C$="h˘LVä":OPEN #1,4,N0,F$:GET #1,A:GET #1,A:GET #1,A:GET #1,B:GET #1,C:GET #1,DE:POKE 850,7
  300. 20010 LOW=B*256+A:HI=DE*256+C:BLEN=HI-LOW:F=INT(BLEN/256):E=BLEN-256*F:POKE 856,E:POKE 857,F:POKE 852,A:POKE 853,B
  301. 20020 B=USR(ADR(C$)):CLOSE #1:RETURN
  302. 32010 IF DK=1 AND B(11)=0 THEN SETCOLOR 1,0,0
  303. 32020 POKE 560,0:POKE 561,6:POKE 559,37:POKE 752,3:POKE 756,152:POKE 703,4:POKE 82,0:SETCOLOR 2,0,0:? "}":RETURN
  304.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement