Data update
This commit is contained in:
parent
29a5eea0d4
commit
5c1bb7bfa9
2011 changed files with 35081 additions and 3229 deletions
34
Task/Dragon-curve/PascalABC.NET/dragon-curve.pas
Normal file
34
Task/Dragon-curve/PascalABC.NET/dragon-curve.pas
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
uses Turtle;
|
||||
|
||||
var
|
||||
Atom,FStr,XStr,YStr: string;
|
||||
angle,len,x0,y0: real;
|
||||
n: integer;
|
||||
|
||||
procedure Init1; // Dragon
|
||||
begin
|
||||
(Atom,FStr,XStr,YStr) := ('fx','f','x+yf+','-fx-y');
|
||||
(angle,len,n,x0,y0) := (90,3,15,300,450);
|
||||
end;
|
||||
|
||||
procedure RunStr(s: string; n: integer);
|
||||
begin
|
||||
foreach var c in s do
|
||||
case c of
|
||||
'+': Turn(angle);
|
||||
'-': Turn(-angle);
|
||||
'f','F': if n>0 then RunStr(FStr,n-1) else Forw(len);
|
||||
'x','X': if n>0 then RunStr(XStr,n-1);
|
||||
'y','Y': if n>0 then RunStr(YStr,n-1);
|
||||
else Print('error')
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
Init1;
|
||||
ToPoint(x0,y0);
|
||||
SetWidth(0.5);
|
||||
Down;
|
||||
RunStr(Atom,n);
|
||||
Up;
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue