uses graph, crt;
var
x, y, x0, y0, d, r, dx, dy, i: integer;
begin
x := 0;
initgraph(x, y, '');
x0 := getmaxX div 2;
y0 := getmaxY div 2;
outtextXY(x0 - 80, 20, 'Vyhod - press any key...');
d := 200;
r := 10;
rectangle(x0 - d, y0 - d, x0 + d, y0 + d);
x := x0;
y := y0 - d + r + 1;
dx := -1;
dy := 1;
i := 10;
repeat
setcolor(i);
circle(x, y, r);
setfillstyle(1, i);
fillellipse(x, y, r, r);
delay(10);
setcolor(0);
circle(x, y, r);
setfillstyle(1, 0);
fillellipse(x, y, r, r);
x := x + dx;
y := y + dy;
if x = x0 - d + r + 2 then
begin
dx := 1;
i := i + 1;
if i = 16 then
i := 1;
end
else if y = y0 + d - r - 2 then
begin
dy := -1;
i := i + 1;
if i = 16 then
i := 1;
end
else if x = x0 + d - r - 2 then
begin
dx := -1;
i := i + 1;
if i = 16 then
i := 1;
end
else if y = y0 - d + r + 2 then
begin
dy := 1;
i := i + 1;
if i = 16 then
i := 1;
end
until keypressed;
end.