Изобразить на экране прямоугольник, по периметру которого движется окружность — Pascal(Паскаль)

uses crt,graph;
var xc,yc,w,h,r,x,y,dx,dy:integer;
begin
x:=0;
initgraph(x,y,'');
w:=200;
h:=100;
r:=10;
xc:=(getmaxX-w) div 2;
yc:=(getmaxY-h) div 2;
setcolor(12);
rectangle(xc,yc,xc+w,yc+h);
x:=xc;
y:=yc-r-1;
dx:=1;
dy:=0;
repeat
setcolor(14);
Circle(x,y,r);
delay(10);
setcolor(0);
Circle(x,y,r);
x:=x+dx;
y:=y+dy;
if(x=xc-r-1)and(y=yc-r-1) then{левый верхний угол}
 begin
  dx:=1;
  dy:=0;
 end
else if(x=xc+w+r+1)and(y=yc-r-1)then{правый верхний}
 begin
  dx:=0;
  dy:=1;
 end
else if(x=xc+w+r+1)and(y=yc+h+r+1)then{првый нижний}
 begin
  dx:=-1;
  dy:=0;
 end
else if(x=xc-r-1)and(y=yc+h+r+1)then{левый нижний}
 begin
  dx:=0;
  dy:=-1;
 end;
until keypressed;
end.

Leave a Comment

9 + 1 =