Compucolor.org – Virtual Media

Listing of file='KALEID.BAS;01' on disk='vmedia/ncc_4-sector.ccvf'

100 REM      KALEIDOSCOPE   BY PATRICK LEABO
140 CLEAR 500
150 PLOT 6,4,12,15,27,11
155 PLOT 27,24
156 GOTO 200
160 INPUT "DO YOU WANT SQUARES OR VECTORS";CH$
170 CH$= LEFT$ (CH$,1)
180 IF CH$= "S"THEN CH= 1:GOTO 200
190 IF CH$= "V"THEN CH= 2:GOTO 200
195 GOTO 160
200 PLOT 12
220 A= 31:B= 15:X1= 16:Y1= 8
230 RESTORE 250
240 FOR N= 0TO 7:READ DX(N):READ DY(N):NEXT
250 DATA 1,0,1,1,0,1,-1,1,-1,0,-1,-1,0,-1,1,-1
260 FOR NN= 1TO 100
280 ON CHGOTO 300,500
300 DI= INT (8* RND (1))
310 IF RND (1)< .25THEN CC= INT (100* RND (1)):PLOT 6,CC
320 FOR N= 1TO INT (RND (1)* 8)
330 X1= X1+ DX(DI):Y1= Y1+ DY(DI)
340 IF X1< 0THEN X1= A:GOTO 360
350 IF X1> ATHEN X1= 0
360 IF Y1< 0THEN Y1= B:GOTO 380
370 IF Y1> BTHEN Y1= 0
380 X2= 63- X1:Y2= 31- Y1
390 PLOT 3,X1,Y1:PRINT "`";
400 PLOT 3,X1,Y2:PRINT "`";
410 PLOT 3,X2,Y1:PRINT "`";
420 PLOT 3,X2,Y2:PRINT "`";
425 PLOT 8:PRINT
430 NEXT :NEXT
440 IF RND (1)< .5THEN PLOT 6,65
450 PLOT 12
500 A= 96:B= 96:GOSUB 600
505 FOR N= 1TO 100
510 X1= X3:X2= X4:Y1= Y3:Y2= Y4:GOSUB 600
520 PLOT 2,253,X1,Y1,242,X3,Y3,255
530 PLOT 2,253,X1,Y2,242,X3,Y4,255
540 PLOT 2,253,X2,Y1,242,X4,Y3,255
550 PLOT 2,253,X2,Y2,242,X4,Y4,255
560 IF RND (1)< .25THEN CC= INT (8* RND (1)):PLOT 6,CC
570 IF RND (1)< .1THEN PLOT 31
580 NEXT :CC= INT (63* RND (1)):GOTO 200
600 X3= INT (A* RND (1)):Y3= INT (B* RND (1)):X4= 127- X3:Y4= 127- Y3:RETURN