program liniendrehen;
uses crt, graph;

var gd, gm, alpha, x1, x2, y1, y2, l, i : integer;

procedure bild;

  var x1s, x2s, y1s, y2s : integer;
      radal : real;

  begin
    radal:=Pi*alpha/180;
    x1s:=x1-round(l*cos(radal));
    x2s:=x1+round(l*cos(radal));
    y1s:=y1-round(l*sin(radal));
    y2s:=y1+round(l*sin(radal));
    x1:=round(x2s/1.05);
    y1:=round(y2s/1.8);
    line(x1s, y1s, x2s, y2s);
    inc(alpha, 10);
    delay(100);
  end;

begin
  randomize;
  alpha:=0;
  x1:=random(480);
  l:=random(10)+10;
  y1:=random(280)+200;
  detectgraph(gd, gm);
  initgraph(gd, gm, 'd:\tp\bgi');
  setcolor(random(15)+1);
  repeat
    bild;
    if alpha=720 then
      begin
        setcolor(random(15)+1);
        cleardevice;
        alpha:=0;
        x1:=random(480);
        l:=random(50)+50;
        y1:=random(280)+100;
        delay(500);
      end;
  until keypressed;
  readln;
  closegraph;
end.