Узор из квадратов
Требуется написать программу, которая рисует узор, представленный на картинке. Собственно не требуется делать точную копию, но так, чтобы было похоже. Предлагаемая программа это делает.
Требуется написать программу, которая рисует узор, представленный на картинке. Собственно не требуется делать точную копию, но так, чтобы было похоже. Предлагаемая программа это делает.
Код:
DECLARE SUB f (x!, y!, r!, p!)
CLS
CONST k = 3.5
SCREEN 11
WINDOW (-320, 240)-(320, -240)
CALL f(0, 0, 100, 3)
END
SUB f (x, y, r, p)
IF p > 0 THEN
s = r - 1
LINE (x - r, y + r)-(x + r, y - r), , B
LINE (x - s, y + s)-(x + s, y - s), 0, BF
FOR i = 1 TO 10000: NEXT
CALL f(x, y, r / k, p - 1)
CALL f(x + r, y, r / k, p - 1)
CALL f(x + r, y + r, r / k, p - 1)
CALL f(x, y + r, r / k, p - 1)
CALL f(x - r, y + r, r / k, p - 1)
CALL f(x - r, y, r / k, p - 1)
CALL f(x - r, y - r, r / k, p - 1)
CALL f(x, y - r, r / k, p - 1)
CALL f(x + r, y - r, r / k, p - 1)
END IF
END SUB