home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 65
/
065.d81
/
p-cavern
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
5KB
|
206 lines
100 rem the challenge of pegasus
110 rem the cavern of doom
120 :
130 sys57812"bumblebee.mus",8,0:poke780,.: poke781,.:poke782,80:sys65493
140 :
150 sys57812"sid.obj.64",8,0:poke780,.: poke781,.:poke782,192:sys65493
160 :
170 sys57812"my.spr",8,0:poke780,.: poke781,64:poke782,53:sys65493
180 :
190 sys57812"cave.font",8,0:poke780,.: poke781,.:poke782,56:sys65493
200 :
210 sys57812"cave.o",8,0:poke780,.: poke781,.:poke782,64:sys65493
220 :
230 :
240 poke53272,30:rem font @ $3800
250 :
260 v=53248:gosub1840:rem choose level
265 s1=54273:v1=53294:s2=54287
270 :
280 dim c(3):c(1)=15:c(2)=12:c(3)=11
290 :
300 sc=0 : rem score
310 :
320 sys49615 : rem 'hook'
330 poke781,.:poke782,80:sys49664:poke 49152,7 : rem 'play'
340 :
350 :
360 print"[147][159] [185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]"
370 print" [129]miles energy cave of crystals"
380 print"[159] [184][184][184][184][184] [184][184][184][184][184][184] [129]doom [159][184][184][184][184][184][184][184][184]"
390 printtab(17)"[159][184][184][184][184][184][184][184][184]"
400 print" "
410 printtab(2)" [146] [146] [146] [146] [146] "
420 printtab(2)" [146] [146] [146] [146] [146] "
430 printtab(3)" [146] [146] [146] [146] [146] "
440 printtab(3)" [146] [146][146] [146] [161] [161] "
450 printtab(3)" [146] [161] [146] [161] "
460 printtab(3)"[161] [161] [146] [180] "
470 printtab(3)"[161] [146] [182]"
480 printtab(3)"[161] [146] [182]"
490 printtab(3)"[161] [181] [182]"
500 print
510 print:printtab(11)"[181]"
520 printtab(11)"[181] [182]"
530 printtab(2)"[161] [146] [181] [182] "
540 printtab(2)"[161] [146] [146] "
550 printtab(2)" [146] [146] [146] "
560 printtab(2)" [146] [146] [146] "
570 printtab(2)" [146] [146] [146] "
580 print" "
590 :
600 forx=2040to2047:readd:pokex,d:nextx
610 :
620 reado,d:ifo>-1 then pokev+o,d: goto620
630 yp=161
640 :
650 forx=17152to17168:readd:pokex,d: nextx
660 :
670 restore
680 :
690 print" "sc" "sh:print""tab(33)m
700 :
710 rem ------------------------------
720 :
730 rem clear sprite collision reg's
740 :
750 ws=peek(v+30):wc=peek(v+31)
760 :
770 poke16402,220: rem sprite page #
780 poke16403,7 : rem sprite #7
790 poke16404,. : rem set-up music
800 poke16405,80 : rem pntrs for ml
810 poke16406,7 : rem init ml indexl
820 :
830 rem ------------------------------
840 :
850 poke17152,127:sys 16384:rem setirq
860 :
870 :
880 rem --- this is the main loop! ---
890 :
900 sys 16393 : rem poll joystick
910 ifpeek(16407)then1060
920 :
930 sys 16390 : rem 'scroll'
940 :
950 sys 16399 : rem collision detect
960 ifpeek(16408)then1330
970 :
980 sc=sc+1:print" "sc:ifsc>mi then goto1740
990 if sc>400 then sys 16390
995 if sc>800 then sys 16390
1000 goto900
1010 :
1020 :
1030 rem ---- 'fire' was pressed ----
1040 :
1050 :
1060 x=226:y=peek(v+15)
1070 pokev+12,x:pokev+13,y:pokev+21,255
1080 poke17152,64
1090 ifpeek(v+30)>64then1160
1100 x=x-8:pokev+12,x:ifx>32then1090
1110 :
1120 poke17152,255:pokev+21,191
1130 m=m-1:print""tab(33)m
1140 goto900
1150 :
1160 q=213 : pokev+21,191
1170 :
1180 rem ---- make 'boing' sound ----
1190 :
1200 poke49152,.:sys16396:poke54296,15
1210 poke54277,8:poke54278,255:poke54276,23:ff=202
1220 forz=1to8:fw=30:q=q+1:ifq=217thenq=213
1230 poke2040,q:poke2041,q
1240 pokes1,ff:fory=1to10:pokes2,fw:fw=fw*1.01:nexty:ff=ff-8:nextz
1250 sc=sc+150:print" "sc:ifsc>mithen1740
1260 m=m-1:print""tab(33)m
1270 pokev+1,52:pokev+3,220:ws=peek(v+30):poke17152,255:sys16396:goto900
1280 :
1290 rem ------------------------------
1300 rem -- sprite collision routine --
1310 rem ------------------------------
1320 :
1330 poke17152,.
1340 :
1350 poke49152,.:sys16396
1360 poke54296,15:poke54277,8:poke54278,255:poke54276,23:f2=7.745
1370 fort=1to3:pokev1,c(t):pokes2,f2:forf1=80to40step-1:pokes1,f1
1380 f2=f2-.025:nextf1:nextt:poke54278,15
1390 sys16396 : sys16387
1400 sh=sh-1:ifsh=0then1450
1410 pokev+21,63:fort=0to500:next: pokev+21,.:pokev+16,.:goto360
1420 :
1430 rem ---- end of game routine ----
1440 :
1450 poke49152,.:sys49897:sys49935
1460 print"[147][159]":pokev+21,.
1470 print"[154] your flying days are over"
1480 print" after a flight of"sc"[154]miles"
1490 print" do you want to play again? (y[154]/n[154])"
1500 poke198,.
1510 geta$:ifa$=""then1510
1520 ifa$="n"then1620
1530 ifa$<>"y"then1510
1540 :
1550 pokev+21,.:poke17152,.:print"[147]"
1560 pokev+16,.:clr
1570 goto260
1580 :
1590 :
1600 rem connect to loadstar
1610 :
1620 print"[147][144]":pokev+21,.:pokev+16,.: pokev+23,.:pokev+29,.
1630 open15,8,15,"r0:hello connect=hello connect":input#15,er:close15
1640 poke53272,21:ifer<>63thenprint"[147]": end
1650 a$="hello connect":q$=chr$(34)
1660 print"[144][147]load"q$a$q$",8"
1670 print"run":poke631,13: poke632,13:poke198,2:end
1680 :
1690 :
1700 rem -----------------------------
1710 rem --- off to mount olympus! ---
1720 rem -----------------------------
1730 :
1740 sys 16387:pokev+21,.:poke53272,21
1745 poke49152,.:sys49897:sys49935
1750 rem sys16396 : rem my 'hush'
1760 printchr$(147):print:print
1770 print"[144]load"chr$(34)"p-olympus"chr$(34)",8":print:print:print:print
1780 print"run":print"[154]and now to mount olympus....[144]"
1790 printchr$(19):poke198,2:poke631,13: poke632,13:end
1800 :
1810 :
1820 rem --- choose level of play ----
1830 :
1840 poke53280,.:poke53281,.
1850 print"[147][154]"tab(8)"pick your level of play"
1860 printtab(8)"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]":print
1870 print"1. [154]beginner (very little flight time)"
1880 print"2. [154]intermediate (flies most weekends)"
1890 print"3. [154]expert (a flying horse for years)"
1900 printtab(12)"press 1, 2 or 3"
1910 poke198,.
1920 geth$:ifh$=""then1920
1930 ifh$<"1"orh$>"3"then1920
1940 h=val(h$):mi=h*500:m=11-2*h:sh=m
1950 return
1960 :
1970 :
1980 :
1990 data 213,213,217,217,218,218
2000 data 219,220
2010 :
2020 data 0,40,1,154,2,75,3,220,4,40
2030 data 5,82,6,200,7,82,8,46,9,196
2040 data 10,230,11,196,14,246,15,161
2050 data 16,0,23,60,29,60,27,63,39,3
2060 data 40,10,41,13,42,13,43,13
2070 data 44,13,45,7,46,1,21,191,-1,-1
2080 :
2090 data 0,1,255,2,1,2,0,2,0,2,0,2,0
2100 data 0,0,0,0
10000 open15,8,15,"s0:p-cavern":close15:save"p-cavern",8:end