Hilbert curve: Difference between revisions

Added XPL0 example.
(Added XPL0 example.)
Line 3,654:
static draw(dt) {}
}</lang>
 
=={{header|XPL0}}==
Hilbert curve from turtle graphic program on Wikipedia.
<lang XPL0>def Order=5, Size=15; \length of line segment
int Dir, X, Y;
 
proc GoFwd;
[case Dir&3 of
0: X:= X+Size;
1: Y:= Y+Size;
2: X:= X-Size;
3: Y:= Y-Size
other [];
Line(X, Y, \white\7);
];
 
proc Hilbert(Lev, Ang);
int Lev, Ang;
[if Lev then
[Dir:= Dir+Ang;
Hilbert(Lev-1, -Ang);
GoFwd;
Dir:= Dir-Ang;
Hilbert(Lev-1, Ang);
GoFwd;
Hilbert(Lev-1, Ang);
Dir:= Dir-Ang;
GoFwd;
Hilbert(Lev-1, -Ang);
Dir:= Dir+Ang;
];
];
 
[SetVid($12); \640x480 graphics
Dir:= 0; X:= 0; Y:= 0;
Move(X, Y);
Hilbert(Order, 1);
]</lang>
 
=={{header|Yabasic}}==
772

edits