c64-basic/kaleidoscope/kaleidoscope.bas

19 lines
715 B
QBasic

10 PRINT CHR$(147):POKE 53280,6:POKE 53281,0
20 PRINT " KALEIDOSCOPE":PRINT
30 PRINT "WATCH A SYMMETRICAL PATTERN GROW."
40 PRINT "SPACE=NEW C=COLOR Q=QUIT":PRINT
50 PRINT "PRESS ANY KEY"
60 GET A$:IF A$="" THEN 60
70 R=RND(-TI):C=1:PRINT CHR$(147)
80 FOR I=1 TO 80:X=INT(RND(1)*19)+1:Y=INT(RND(1)*11)+1
90 V=INT(RND(1)*4)+1:IF V=1 THEN Z=42
100 IF V=2 THEN Z=43
110 IF V=3 THEN Z=81
120 IF V=4 THEN Z=90
130 GOSUB 220:X=39-X:GOSUB 220:Y=23-Y:GOSUB 220:X=39-X:GOSUB 220
140 GET A$:IF A$="Q" THEN 260
150 IF A$="C" THEN C=C+1:IF C>15 THEN C=1
160 IF A$=" " THEN PRINT CHR$(147):I=80
170 NEXT:GOTO 80
220 P=1024+Y*40+X:POKE P,Z:POKE 55296+Y*40+X,C:RETURN
260 POKE 53280,14:POKE 53281,6:PRINT CHR$(147):END