SCREEN 13 RANDOMIZE TIMER REM CONSTANTS AND DIMENSIONS DIM P(4, 150, 2) PI = 3.141592654# CX = 160 CY = 100 RM = 90 isStart = 0 3750 REM ART FORMS 32,21,7 3760 NN = 32: IF RND(1) - .5 > 0 THEN C = RND(1) * 41 + 30: GOTO 3780 3770 C = 100 3780 NS = INT(RND(1) * C / 8 + 4) 3790 P = INT(RND(1) * 11 + 5): GOTO 3830 3800 NN = 21: C = 200 3810 NS = INT((RND(1) * C / 8 + 4) / 2) * 2 3820 P = INT((RND(1) * 11 + 2) / 2) * 2 + 1 3830 PR = RND(1) * .6 + .2 3840 GOTO 3890 3850 NN = 7: C = RND(1) * 20 + 40 3860 NS = INT(RND(1) * 3 + 3) 3870 P = INT(RND(1) * 5 + 5) 3880 PR = -1 3890 R = RM: IA = PI / P 3900 IF NS = 1 THEN IR = 0: GOTO 3920 3910 IR = C * R / (NS - 1) / 100 3920 3930 GOSUB chooseColor 3940 REM GRAPH ROUTINE 3950 FOR I = 1 TO NS 3960 IF I = NS AND NN = 32 GOTO 4040 3970 PSET (CX, CY - R): GOSUB Pause 3980 AN = 0: RR = R * PR 3990 FOR J = 1 TO P 4000 AN = AN + IA: LINE -(CX + RR * SIN(AN), CY - RR * COS(AN)): GOSUB Pause 4010 AN = AN + IA: LINE -(CX + R * SIN(AN), CY - R * COS(AN)): GOSUB Pause 4020 NEXT J 4030 R = R - IR 4040 NEXT I 4050 GOTO 3750 Pause: FOR j1 = 1 TO 10000 IF INKEY$ <> "" THEN GOTO endProgram END IF NEXT RETURN chooseColor: IF RND - .5 > 0 THEN COLOR 7 ELSE IF RND - .5 > 0 OR isStart = 0 THEN COLOR 4 ELSE COLOR 0 END IF END IF 'CLS isStart = 1 RETURN endProgram: COLOR 7 END ' TODO: ' remove linenumbers ' more colors