27 lines
566 B
Text
27 lines
566 B
Text
10 REM Sierpinski carpet
|
|
20 CLS
|
|
30 LET R = 3
|
|
40 LET S = 1
|
|
50 FOR P = 1 TO R
|
|
60 LET S = 3 * S
|
|
70 NEXT P
|
|
80 REM Now S (size) is 3 to the power of R (order)
|
|
90 FOR I = 0 TO S - 1
|
|
100 FOR J = 0 TO S - 1
|
|
110 LET X = J
|
|
120 LET Y = I
|
|
130 GOSUB 300
|
|
140 IF C = 1 THEN PLOT J, I, "white"
|
|
150 NEXT J
|
|
160 NEXT I
|
|
170 END
|
|
|
|
300 REM Subroutine -- Is (X,Y) in the carpet?
|
|
310 REM Returns C = 0 (no) or C = 1 (yes).
|
|
320 LET C = 0
|
|
330 IF X % 3 = 1 AND Y % 3 = 1 THEN RETURN
|
|
340 LET X = FLOOR(X / 3)
|
|
350 LET Y = FLOOR(Y / 3)
|
|
360 IF X > 0 OR Y > 0 THEN GOTO 330
|
|
370 LET C = 1
|
|
380 RETURN
|