c64-basic/meteor-dodge/meteor-dodge.bas

25 lines
1,003 B
QBasic

10 PRINT CHR$(147):POKE 53280,0:POKE 53281,0
20 PRINT " METEOR DODGE":PRINT:PRINT " A=LEFT D=RIGHT Q=QUIT"
25 PRINT:PRINT " PRESS ANY KEY"
30 GET A$:IF A$="" THEN 30
35 R=RND(-TI)
40 DIM X(5),Y(5):FOR I=1 TO 5:X(I)=INT(RND(1)*38)+1:Y(I)=-I*4:NEXT
50 P=20:S=0:L=3:PRINT CHR$(147)
60 GET A$:IF A$="A" AND P>1 THEN P=P-1
70 IF A$="D" AND P<38 THEN P=P+1
80 IF A$="Q" THEN 190
90 FOR I=1 TO 5:IF Y(I)>=0 THEN POKE 1024+Y(I)*40+X(I),32
100 Y(I)=Y(I)+1:IF Y(I)>22 THEN Y(I)=0:X(I)=INT(RND(1)*38)+1:S=S+1
110 IF Y(I)=22 AND ABS(X(I)-P)<2 THEN L=L-1:Y(I)=0:X(I)=INT(RND(1)*38)+1
120 IF Y(I)>=0 THEN POKE 1024+Y(I)*40+X(I),42:POKE 55296+Y(I)*40+X(I),8
125 NEXT
130 POKE 1024+22*40+P,1:POKE 55296+22*40+P,1
140 PRINT CHR$(19);" SCORE";S;" SHIELDS";L;" "
150 FOR D=1 TO 55:NEXT:POKE 1024+22*40+P,32
160 IF L>0 THEN 60
170 PRINT CHR$(147):PRINT "FINAL SCORE:";S:PRINT
180 PRINT "R=REPLAY Q=QUIT"
190 GET A$:IF A$="R" THEN RUN
200 IF A$<>"Q" THEN 190
210 POKE 53280,14:POKE 53281,6:PRINT CHR$(147):END