Var h:integer; begin h:=40; line(window.Width-300,window.Height,window.Width-300,0); floodfill(window.Width-20,20,clGray); rectangle(window.Width-200,100,window.Width-100,300); floodfill(window.Width-150,140,clGold); while h<>window.Height-40 do begin circle(window.Width div 2,h-40,10); floodfill(window.Width div 2,h-40,clGreen); circle(window.Width div 2,h,30); floodfill(window.Width div 2,h,clRed); rectangle(0,0,window.Width div 2+40,window.Height); floodfill(window.Width div 2+40,window.Height,clWhite); inc(h); end; circle(window.Width div 2,h-40,10); floodfill(window.Width div 2,h-40,clGreen); circle(window.Width div 2,h,30); floodfill(window.Width div 2,h,clRed); end.
0 votes Thanks 0
Gleb1Kosyrev
Как ни странно, оно так и должно работать. Не явно же мне юзать графические объекты для школьной задачи. А мерцание вызвано постоянным закрашиванием двух кругов для смены координат.
Answers & Comments
Verified answer
//PascalABC.NET 3.2 сборка 1318Uses
GraphABC;
Var
h:integer;
begin
h:=40;
line(window.Width-300,window.Height,window.Width-300,0);
floodfill(window.Width-20,20,clGray);
rectangle(window.Width-200,100,window.Width-100,300);
floodfill(window.Width-150,140,clGold);
while h<>window.Height-40 do
begin
circle(window.Width div 2,h-40,10);
floodfill(window.Width div 2,h-40,clGreen);
circle(window.Width div 2,h,30);
floodfill(window.Width div 2,h,clRed);
rectangle(0,0,window.Width div 2+40,window.Height);
floodfill(window.Width div 2+40,window.Height,clWhite);
inc(h);
end;
circle(window.Width div 2,h-40,10);
floodfill(window.Width div 2,h-40,clGreen);
circle(window.Width div 2,h,30);
floodfill(window.Width div 2,h,clRed);
end.