Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл: Источник:
Скачиваний:
285
Добавлен:
04.03.2014
Размер:
1.07 Кб
Скачать
program lab;
uses graph,crt;
type
proc=procedure;
var
p:proc;
xa,ya:word;
gd,gm:integer;
x,y,y1,x1,x2,y2,x3,y3,x4,y4,t,yc1,xc1,xc2,yc2,xc3,yc3,xc4,yc4:integer;
{$f+}
procedure p1;
begin
x:=x-6;
y:=y+3;
end;
procedure p2;
begin
x:=x+1;
y:=y+3;
end;
procedure p3;
begin
x:=x-4;
y:=y-2;
end;
procedure p4;
begin
x:=x+1;
y:=y-3;
end;
{$f-}

begin
gd:=detect;
initgraph (gd,gm,' ');

x:=320;
y:=240;
p:=p1;
while not keypressed do
begin
cleardevice;
p;
t:=t+1;
x1:=x; x2:=x; y3:=y; y4:=y;
y1:=y-30; y2:=y+30; x3:=x-30; x4:=x+30;

setcolor(4);
circle(x,y,30);
x1:=round(x+30*cos(t));
y1:=round(y+30*sin(t));
x2:=round(x+30*cos(t+pi));
y2:=round(y+30*sin(t+pi));
line(x1,y1,x2,y2);

x3:=round(x+30*cos(t+pi/2));
y3:=round(y+30*sin(t+pi/2));
x4:=round(x+30*cos(t+pi*3/2));
y4:=round(y+30*sin(t+pi*3/2));
line(x3,y3,x4,y4);

if x<30 then p:=p2;
if y<30 then p:=p2;
if x>610 then p:=p3;
if y>450 then p:=p4;
if (x<30) and (y<30) then p:=p2;
if (x>610) and (y>450) then p:=p3;
delay(800);
end;
closegraph;
end.