SCREEN 13 RANDOMIZE TIMER REM CONSTANTS AND DIMENSIONS DIM P(4, 150, 2) PI = 3.141592654# CX = 160 CY = 100 RM = 90 isStart = 0 1030 REM ART FORMS 31,25,10,4,18 1040 NN = 31: P = INT(RND(1) * 11 + 10): GOTO 1100 1050 NN = 25: P = INT(RND(1) * 21 + 90): GOTO 1100 1060 NN = 10: P = INT(RND(1) * 51 + 20): GOTO 1100 1070 NN = 4: P = INT((RND(1) * 21 + 20) / 2) * 2: GOTO 1100 1080 NN = 18: P = INT(RND(1) * 61 + 20) 1090 REM DEFINE POINTS AROUND A CIRCLE 1100 I = 1: AN = 2 * PI / P 1110 P(1, 1, 1) = CX: P(1, 1, 2) = CY - RM: K = P 1120 FOR J = 2 TO INT(P / 2 + 1): PX = RM * SIN((J - 1) * AN): P(I, J, 1) = CX + PX: P(I, K, 1) = CX - PX: P(I, J, 2) = CY - RM * COS((J - 1) * AN): P(I, K, 2) = P(I, J, 2): K = K - 1: NEXT J 1130 GOSUB chooseColor 1140 REM GRAPH ROUTINE 1150 IF NN <> 31 GOTO 1180 1160 FOR J = 1 TO P - 1: FOR K = J + 1 TO P: GOSUB 1260: NEXT K, J 1170 GOTO 1030 1180 J = 1: IF NN = 18 THEN J = INT(RND(1) * P + 1) 1190 FOR K = 1 TO P: GOSUB 1260: NEXT K: IF NN = 25 THEN GOTO 1030 1200 IF NN = 4 OR NN = 18 GOTO 1230 1210 J = 2: FOR K = 3 TO P: GOSUB 1260: NEXT K 1220 J = P: FOR K = 1 TO P: GOSUB 1260: NEXT K: GOTO 1030 1230 IF NN = 18 GOTO 1250 1240 J = P / 2 + 1: FOR K = 1 TO P: GOSUB 1260: NEXT K: GOTO 1030 1250 J = INT(RND(1) * P + 1): FOR K = 1 TO P: GOSUB 1260: NEXT K: GOTO 1030 1260 LINE (P(I, J, 1), P(I, J, 2))-(P(I, K, 1), P(I, K, 2)): GOSUB Pause: RETURN 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