Анимация: Движение точки по заданной траектории - Turbo Pascal

Формулировка задачи:

Прошу помочь с программой. Движение точки(или круга) по заданной траектории.

Код к задаче: «Анимация: Движение точки по заданной траектории - Turbo Pascal»

textual
uses graph,crt;
procedure fon(x0,y0:integer);
var d,i,x,y:integer;
begin
setcolor(15);
x:=x0-100;
y:=y0-100;
d:=40;
for i:=0 to 5 do
 begin
  line(x+i*d,y,x+i*d,y+200);
  line(x,y+i*d,x+200,y+i*d);
 end;
end;
var xc,yc,x1,y1,x2,y2,x3,y3,x,y:integer;
begin
initgraph(x,y,'');
xc:=getmaxX div 2;
yc:=getmaxY div 2;
x1:=xc-80;
y1:=yc-80;
y2:=yc+80;
x2:=xc+80;
x:=x1;
y:=y1;
fon(xc,yc);
setfillstyle(1,12);
setcolor(12);
circle(x,y,3);
floodfill(x,y,12);
repeat
while y<y2 do
 begin
  delay(20);
  cleardevice;
  fon(xc,yc);
  y:=y+1;
  setfillstyle(1,12);
  setcolor(12);
  circle(x,y,3);
  floodfill(x,y,12);
 end;
y2:=y2-80;
while y>y1 do
 begin
  delay(20);
  cleardevice;
  fon(xc,yc);
  y:=y-1;
  x:=x+1;
  setfillstyle(1,12);
  setcolor(12);
  circle(x,y,3);
  floodfill(x,y,12);
 end;
y1:=y1+40;
x1:=x1+40;
x2:=x2-80;
while x>x1 do
 begin
  delay(20);
  cleardevice;
  fon(xc,yc);
  x:=x-1;
  setfillstyle(1,12);
  setcolor(12);
  circle(x,y,3);
  floodfill(x,y,12);
 end;
until (x>=x2)and(y<=y1);
readln
end.

12   голосов, оценка 4.333 из 5


СОХРАНИТЬ ССЫЛКУ