home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1984 October
/
1984-10.d64
/
trek
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
10KB
|
266 lines
10 poke53280,6:poke53281,0:print""
11 print"[147] trek"
12 print" please wait"
13 gosub 5000
14 print" skill level (1-4) "
18 getfq$:if fq$<"1"or fq$>"4" then 18
19 fq=val(fq$):print"[147]"
20 gosub 500
30 gosub 800
35 gosub 880
40 v=53248:poke723,10:v1=2040:ss=0:ex=80:ti$="140000":poke53275,48:bsc=0
45 xx$= ""
50 poke v+21,63
60 pokev1,215:pokev1+1,215:pokev1+2,215:pokev1+3,211:pokev1+4,212:pokev1+5,213
70 pokev+39,6:pokev+40,10:pokev+41,5:pokev+42,15:pokev+43,9:pokev+44,9
80 poke v+9,202:pokev+11,202
90 gosub 900
95 qi=.01:pokev+6,80:e=100:pokev+5,145:pokev+29,8:poke53280,0:iffq>2thenqi=.06
96 poke 2046,214:poke53293,10:pokev+30,0
97 poke v+1,150:pokev+3,155:pokev+5,160:pokev+7,180:ep=180:poke650,128:hit=0
99 ss=.1:ex=80:s=54272:poke54296,9:pokes+5,9:pokes+6,0:pokes,240:pokes+1,33
100 sys 989:poke53277,peek(53277)or(2^4):poke53277,peek(53277)or(2^5)
110 sys thrst:poke53280,0:pokev+7,peek(v+7)+1:if peek(v+7)>185then pokev+7,185
112 sys thrst:poke49402,peek(v+30):sys phas:sys thrst
114 sys thrst:sys bam:sys thrst:if(peek(49402)and15)>8thenpoke53280,2:hit=hit+1
116 sys thrst:sys move:poke54273,0:sys phas:if peek(197)=60 then hit=hit+1
117 systhrst:poke54277,15:poke54276,17:sys thrst:systhrst:poke54278,129
118 sys890:poke54296,4:print""spc(31)"score":print""spc(25),(ti-t1)-hit
119 sys thrst:poke53280,0:sys phas:if peek(v)<20 then pokev+1,(peek(v+7))
120 sys thrst:sys phas:poke54273,20:if peek(v+2)<20 then pokev+3,(peek(v+7))
121 sys thrst:sys phas:if peek(v+4)<20 then pokev+5,(peek(v+7))
123 sys thrst:sys bam:sys phas:sys thrst
124 sys890:sys phas:poke54276,16:poke54276,17:sys thrst
125 sys thrst:on fq goto 130,129,128,127,126
126 sys thrst:sys move:sys move:sys move:sys move:sys move:sys phas
127 sys thrst:sys move:sys move:sys move:sys phas
128 sys thrst:sys move:sys move:sys move:sys phas
129 sys thrst:sys move:sys move:sys phas
130 sys thrst:sys move:sys move:sys phas
131 sys thrst:sys move:sys thrust:sys move:if rnd(.)<qi then8000
132 sys thrst:a5=peek(197):pokev+7,peek(v+7)+1:ifpeek(v+7)>185thenpokev+7,185
133 sys890:ifa5=22andabs(peek(v+6)-peek(v+10))<25andpeek(v+7)>175thengosub6000
135 xy$=str$(100-(hit*15.1))+" "
140 sys890:printxx$;"energy to shields ";xy$
145 sys thrst:sys phas:sys thrst:if hit*15.1>100then200
180 sys thrst:ex=ex+1:if ex>150then ex=40:lc=lc+1:if lc>1 then 4000
190 sys thrst:sys move:sys phas:poke v+6,ex:sys thrst
195 sys thrst:sys phas:goto110
200 printxx$;"shields collapsed, starship destroyed"
205 s=54272:pokes+24,15:pokes+5,192:pokes+6,129:u1=255:pokes+2,75:poke53280,2
210 n=190-peek(v+7):for crash=1 to nstep4
215 pokes+1,u1:pokes+4,17:u1=u1-1
220 for dl=1to10:next:c1=(peek(v+7)+4):c2=(peek(v+6)+4)
225 if c2>225 thencrash=n
230 pokev+7,c1:pokev+6,c2:next
231 gosub 300
234 pokev+21,peek(v+21)and(255-8)
235 pokes+24,15:pokes+1,15:pokes+4,128
240 pokes+5,9:pokes+1,20:pokes+4,128
250 fordl=1to700:next
260 pokes+4,129:goto3000
300 poke 53277,peek(53277)and(255-2^3)
301 poke 53271,peek(53271)and(255-2^3)
305 poke 2043,216:pokev+42,7:for delay=1to20:next:pokes+4,129
310 pokev+7,peek(v+7)-10:poke 53271,peek(53271)or(2^3):for delay=1to10:next
312 pokes+24,7:ford=1to20:next:pokes+24,8:ford=1to40:next:pokes+24,13
315 poke 53277,peek(53277)or(2^3):for delay=1to60:next
316 pokes+24,7:ford=1to40:next:pokes+24,8:ford=1to20:next:pokes+24,13
320 poke 53271,peek(53271)and(255-2^3)
325 pokev+42,1:ford=13to1step-.5:pokes+24,d:next:pokes+4,128:pokes+24,9:return
499 rem sprite subsection
500 for n=13440to13502:reada:poken,a:next
510 for n=13504to13566:reada:poken,a:next
515 for n=13568to13630:reada:poken,a:next
520 for n=13632to13694:reada:poken,a:next
525 for n=13760to13822:reada:poken,a:next
527 for n=13696to13759:reada:poken,a:next
528 for n=13824to13886:reada:poken,a:next
530 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,48,0,0,48,0,0
535 data 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0
540 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,1,248,255,223,255
545 data 127,223,255,15,135,192,7,143,128,3,159,0,15,255,0,15,255,0,7,255,128
550 data 7,255,0,3,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
555 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,1,248,0,3,252,0,3
560 data 254,224,7,255,16,15,255,8,31,255,132,127,255,254,255,255,255,255,255
565 data 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,15,128,0,31,192,0,31,192,2
570 data 63,240,7,127,248,15,191,248,15,223,248,31,231,252,31,251,252,63,248
575 data 254,63,255,6,127,255,248,255,255,254,255,255,255,255,255,255,0,0,0,0,0
580 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,248,3,255,240,15,255,248,63,255,248,0,15
585 data 192,1,255,240,1,255,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
590 data 0,0
592 data 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0
593 data 255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
595 data 0,0,0,0,112,0,3,252,0,15,255,128,23,255,64,59,254,240,61,253,248,118
596 data 171,252,251,255,60,255,254,220,123,253,232,119,251,248,47,255,240,15
597 data 223,224,7,223,224,3,223,192,3,219,192,3,219,192,7,219,224,15,219,240
598 data 0,0,0
600 ki=49152:for n=ki to 49204:reada:poken,a:next
610 data 162,210,173,30,208,141,62,192,41,68,201,68,208,7,142,208,2,142,5,208
620 data 96,173,62,192,41,66,201,66,208,7,142,198,2,142,3,208,96,173,62,192,41
630 data 65,201,65,208,246,142,188,2,142,1,208,96
640 bam=49407:for n=bam to 49459:reada:poken,a:next
641 data 162,210,173,30,208,141,62,192,41,12,201,12,208,7,142,208,2,142,5,208
642 data 96,173,62,192,41,10,201,10,208,7,142,198,2,142,3,208,96,173,62,192,41
643 data 9,201,9,208,246,142,188,2,142,1,208,96
650 move=49232:forn=moveto49275:reada:poken,a:next
660 data 173,7,208,205,1,208,176,6,206,1,208
665 data 76,97,192,238,1,208,205,3,208,176
670 data 6,206,3,208,76,111,192,238,3,208,205,5,208,176,4,206,5,208,96,238
680 data 5,208,96
690 phas=49472:for n=phas to 49531:reada:poke n,a:next
691 data 165,197,201,60,240,1,96,169,129,141,4,212,173,7,208,174,6,208,142,12
693 data 208,141,13,208,160,127,140,21,208,238,12,208,173,12,208,208,13,169
695 data 128,141,4,212,169,63,141,21,208,76,0,192,160,70,136,192,0,208,251
697 data 76,93,193
700 return
799 rem main loop machine language
800 for n=828 to 886:reada:poken,a:next
810 data 174,188,2,202,202,142,188,2,142,0,208,174,198,2,202,202,202,142,198
815 data 2,142,2,208,174,208,2,202,142,208,2,142,4,208,174,188,2,174,213,2,202
820 data 142,213,2,142,8,208,174,211,2,202,142,211,2,142,10,208,76,49,234
850 return
879 rem reset hardware interupt vector
880 for n=989to1002:reada:poken,a:next
885 data 120,169,60,141,20,3,169,3,141,21,3,88,96,32
890 rem thrusters (thrst)
891 thrst=890:forn=890to951:reada:poken,a:next
892 data 165,197,201,2,240,13,165,197,201,7,240,19,165,197,197,60,240,25,96
893 data 174,7,208,202,224,95,240,247,142,7,208,96,174,7,208,232,224,190,240
894 data 247,142,7,208,96,173,7,208,74,74,74,24,105,25,168,174,6,208,24,32
895 data 240,255,96,32
899 return
900 poke53280,0:poke53281,0
910 gosub 1100
920 print"[147]":gosub 980
930 print"[149][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";
950 print" [166][166][166][166] [166][166][166][166][160][166][166][166][166][160][166][160][160][166] hi score ";
952 print" level [166] [166] [166] [166] [166] [166][166] "bsc
954 print" "fq" [166] [166][166][166][166] [166][166][166] [166][166][166] ";
956 print" [166] [166] [166] [166] [166] [166] ";
958 print" [166] [166] [166][166] [166][166][166][166] [166] [166][166] ";
960 print"[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][185][185]";
965 for sv=1to12:printspc(30)"[181]":next
970 printspc(31)"[184][184][184][184][184][184][184][184][184]"
971 print""spc(31)"[159]controls"
972 printspc(31)"[158]crsr-dn="
973 printspc(33)"down"
97