asmodeus94

rekurencja

May 11th, 2012
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.70 KB | None | 0 0
  1. Program TrybGraficzny;
  2. uses Crt,Graph;
  3.  
  4. CONST                                        {TYPOWE STALE UZYWANE W GRAFICE}
  5. {---------------------------------------------------------------------------}
  6.   BGI  = '';                              {Sciezka do *.BGI,*.CHR dla TP    }
  7.   cBkg = LightGray; {7}                   {Kolor tla ekranu                 }
  8.   cLin = Red; {4}                         {Kolor linii                      }
  9.   cFil = Green; {2}                       {Kolor wypelnien                  }
  10.   xLin = SolidLn; {0}                     {Styl linii                       }
  11.   xFil = SolidFill; {1}                   {Styl wypelnien                   }
  12.   gLin = NormWidth; {3}                  {Grubosc linii                    }
  13.   anim = 100;                             {Szybkosc animacji                }
  14.   gstart = 500;                           {Czas na rozruch trybu graficznego}
  15.              {bez tego opoznienia nie zauwazamy rysowania poczatkowych linii}
  16.  
  17. VAR                                        {TYPOWE ZMIENNE UZYWANE W GRAFICE}
  18. {---------------------------------------------------------------------------}
  19.   Drv,Mode,Code   :integer;               {Zmienne do otwarcia grafiki      }
  20.   pxs,pys         :integer;               {Srodek ekranu                    }
  21.   px1,py1,px2,py2,r :integer;               {Wsp.pikselowe   dwoch punktow    }
  22.   x1,y1,x2,y2     :real;                  {Wsp.rzeczywiste dwoch punktow    }
  23. procedure kolka(pxs,pys,r: integer);
  24. begin
  25. delay(10);circle(pxs,pys,r);
  26. r:=r div 2;
  27. if r>3 then begin kolka(pxs-r,pys,r);
  28. kolka(pxs+r,pys,r);
  29. kolka(pxs,pys-r,r);
  30. kolka(pxs,pys+r,r);
  31. end;
  32. end;
  33. begin {=====================================================================}
  34.   ClrScr;            {Zeby nie zostawaly komunikaty z poprzednich uruchomien}
  35.   Drv:=Detect; InitGraph(Drv,Mode,BGI);         {Otwarcie trybu graficznego }
  36.   Code:=GraphResult;                            {ze sprawdzeniem poprawnosci}
  37.   if Code<>grOK then
  38.     begin writeln('Blad otwarcia trybu graficznego'); Halt(1); end;
  39.  
  40.   SetBKColor(cBkg); ClearDevice; Delay(gstart);
  41.   SetColor(cLin); SetLineStyle(xLin,0,gLin); SetFillStyle(xFil,cFil);
  42.   pxs:=GetMaxX div 2; pys:=GetMaxY div 2;                     {Srodek ekranu}
  43.   {-------------------------------------------------------------------------}
  44.   {a teraz mozna rysowac}
  45.  
  46.   r:=400;pxs:=getMaxX div 2;pys:=getMaxY div 2;
  47.   kolka(pxs,pys,r);
  48. {  Line(pxs-50,7*GetMaxY div 8, pxs+50,7*GetMaxY div 8);
  49.   Line(pxs-4,7*GetMaxY div 8, pxs-4,pys);
  50.   Line(pxs+4,7*GetMaxY div 8, pxs+4,pys);
  51.   FillEllipse(pxs,pys,pxs div 5, pys div 4);}
  52.  
  53.  
  54.  
  55.   {-------------------------------------------------------------------------}
  56.   readln;
  57.   CloseGraph;
  58. end.
Advertisement
Add Comment
Please, Sign In to add comment