program kv;
uses
crt, graph;
var
x, y, dx, dy, w, h, driver, mode: integer;
begin
initgraph(driver, mode, 'G:/BP/BGI');
if graphresult<>0 then begin
writeln('none');
halt
end;
dx:=1;
dy:=0;
w:=100;
h:=10;
repeat
setfillstyle(1, black);
bar(x, y, x+w, y+h);
x:=x+dx;
y:=y+dy;
setfillstyle(1, red);
bar(x, y, x+w, y+h);
delay(100);
if (x+w>=getmaxx)and(y<=0) then
begin
dx:=0;
dy:=1;
end
else
if (y+h>=getmaxy)and(x+w>=getmaxx) then
begin
dx:=-1;
dy:=0;
end
else
if (x<=0)and(y+h>=getmaxy) then
begin
dx:=0;
dy:=-1;
end
else
if (y<=0)and(x<=0) then
begin
dx:=1;
dy:=0;
end;
until keypressed;
closegraph;
end.