pascalabcnet/TestSuite/CompilationSamples/TreeDraw.pas

28 lines
626 B
ObjectPascal
Raw Normal View History

2015-05-14 22:35:07 +03:00
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
uses GraphABC;
const
LevelHeight = 50;
Levels = 8;
delay = 10;
procedure DrawTree(x,y,dx,level: integer);
// <20><><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
begin
if level>0 then
begin
DrawTree(x-dx,y+LevelHeight,dx div 2,level-1);
Line(x,y,x-dx,y+LevelHeight);
Line(x,y,x+dx,y+LevelHeight);
Sleep(delay);
DrawTree(x+dx,y+LevelHeight,dx div 2,level-1);
end;
end;
begin
Window.Title := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
SetSmoothingOff;
SetWindowSize(800,30+Levels*LevelHeight);
DrawTree(WindowWidth div 2,10,WindowWidth div 5,Levels);
end.