RosettaCodeData/Task/Fibonacci-word-fractal/PascalABC.NET/fibonacci-word-fractal.pas
2024-11-04 21:53:44 -08:00

32 lines
502 B
ObjectPascal

uses Turtle;
function fibword(n: integer): string;
begin
var a := '1'.ToString;
result := '0';
loop n - 2 do
begin
a := result + a;
swap(a, result);
end;
end;
procedure draw_fractal(w: string; step: real);
begin
foreach var c in w index i do
begin
Forw(step);
if c = '0' then
if i mod 2 = 0 then TurnLeft(90)
else TurnRight(90)
end;
end;
begin
var w := fibword(20);
var step := 1;
SetWidth(2);
Down;
TurnRight(90);
draw_fractal(w, step);
end.