 {**************************************
 *                                    *
 *          Pokus s grafikou          *
 *                                    *
 *  Pro ATARI Portolio naprogramoval  *
 *             Frantik                *
 * unor 98                            *
 **************************************}
program blbina;

const delka=15;
      odstup=2;
      max_x=239;
      min_x=0;
      max_y=63;
      min_y=0;

var x1,y1,x2,y2,m1,n1,m2,n2 : integer;
    a,b,c,d,e,f,g,h,i,n : integer;
    ch : char;

begin
 x1:=50;
 y1:=10;
 x2:=40;
 y2:=40;
 m1:=x1;
 n1:=y1;
 m2:=x2;
 n2:=y2;
 a:=2;
 b:=1;
 c:=1;
 d:=1;
 e:=a;
 f:=b;
 g:=c;
 h:=d;
 n:=0;
 i:=1;

 setmode(4);
 repeat
  begin
   draw(x1,y1,x2,y2,1);
   
   if (x1>=max_x) or (x1<=min_x) then
    begin
     a:=-a;
     {zvuk;}
    end;
   if (y1>=max_y) or (y1<=min_y) then
    begin
     b:=-b;
     {zvuk;}
    end;
   if (x2>=max_x) or (x2<=min_x) then
    begin
     c:=-c;
     {zvuk;}
    end;
   if (y2>=max_y) or (y2<=min_y) then
    begin
     d:=-d;
     {zvuk;}
    end;
   
   if n>delka then
    begin
     i:=0;
     draw(m1,n1,m2,n2,0);

     if (m1>=max_x) or (m1<=min_x) then
      e:=-e;
     if (n1>=max_y) or (n1<=min_y) then
      f:=-f;
     if (m2>=max_x) or (m2<=min_y) then
      g:=-g;
     if (n2>=max_y) or (n2<=min_y) then
      h:=-h;

     m1:=m1+e*odstup;
     n1:=n1+f*odstup;
     m2:=m2+g*odstup;
     n2:=n2+h*odstup;
    end;
   x1:=x1+a*odstup;
   y1:=y1+b*odstup;
   x2:=x2+c*odstup;
   y2:=y2+d*odstup;
   n:=n+i;
  end;
 until keypressed;
 ch:=inkey;
 setmode(7);
 writeln('To je ale blbina, co?');
end.
