Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
29
Добавлен:
09.03.2016
Размер:
2 Кб
Скачать

program cub;
 uses graph,crt;
 const
  count=210;
 type
  mass=array[1..4] of integer;
 var
  graphdriver,graphmode : integer;
  xo,yo,i,c,a,x1,y1           : integer;
  alfa                  : real;
  dx,dy,x,y,x2,y2             : mass;
  procedure d_radius(rud:integer;alf:real;var d_rudX,d_rudY:integer);
   begin
    d_rudX:=round(rud*cos(alf));
    d_rudY:=round(rud*sin(alf));
   end;
  procedure spin;
  procedure picture(col:word);
   begin
    setcolor(col);
    circle(200+c,340,40);
     line(x[1],y[1],x[2],y[2]);
     line(x[1],y[1],x[3],y[3]);
     line(x[4],y[4],x[3],y[3]);
     line(x[2],y[2],x[4],y[4]);
     line(x2[1],y2[1],x2[2],y2[2]);
     line(x2[1],y2[1],x2[3],y2[3]);
     line(x2[4],y2[4],x2[3],y2[3]);
     line(x2[2],y2[2],x2[4],y2[4]);
     line(x[1],y[1],x2[1],y2[1]);
     line(x[2],y[2],x2[2],y2[2]);
     line(x[3],y[3],x2[3],y2[3]);
     line(x[4],y[4],x2[4],y2[4]);
   end;
   begin
   xo:=500;
   yo:=300;
   x1:=550;
   y1:=350;
   alfa:=pi/4;
    repeat
    if c=count then a:=-a;

      d_radius(70,alfa,dx[1],dy[1]);
      d_radius(70,alfa+pi/2,dx[2],dy[2]);
      d_radius(70,alfa-pi/2,dx[3],dy[3]);
      d_radius(70,alfa+pi,dx[4],dy[4]);
    for i:=1 to 4 do
     begin
      x[i]:=xo+dx[i];
      y[i]:=yo-dy[i];
      y2[i]:=y1-dy[i];
      x2[i]:=x1+dx[i];
     end;
   if a=-2 then alfa:=alfa-pi/36;
     picture(white);
      delay(15000);
     picture(black);
   c:=c+a

   until keypressed
   end;
  begin
   graphdriver:=detect;
    clrscr;
   initgraph(graphdriver,graphmode,'c:\tp70\bgi');
   setbkcolor(black);
    a:=2;
    c:=0;
    spin;
 closegraph
end.
Соседние файлы в папке graph