Procedure Find_Ant, Control, Monitor

Zpět
procedure TMravenec.Find_Wood;     // najde uhel k vetvicce
var px, py,x,y,i : integer;
    best_distance : integer;  // zatim nejlepsi vzdalenost od vetvicky
    best_dis_index : integer; // indexs nejlepsi vetvicky
    vzdalenost : integer;     // prave pocitana vzdalenost
begin
if (live<=90) then 
begin
 with Ant_Hill do begin
 x:=round(xx);
 y:=round(yy);
 best_distance:=800;
 for i:=0 to curr_num_woods-1 do
  if Data_Wood[i].where=2 then
   begin
     vzdalenost:=round(sqrt((x-Data_Wood[i].x)*(x-Data_Wood[i].x)+(y-Data_Wood[i].y)*(y-Data_Wood[i].y)));
     if (vzdalenost<=best_distance) and (vzdalenost<(inteligence*20)) then // rovnost v dokumentaci 
       begin
         best_distance:=vzdalenost;
         best_dis_index:=i;
       end;
   end;
 if best_distance<=800 then  // rovnost v dokumentaci 
   begin
    px:=x-Data_Wood[best_dis_index].x;
    py:=y-Data_Wood[best_dis_index].y;
    if px>0 then smer:=arctan(py/px)+Pi
       else smer:=arctan(py/px);
    delka:=best_distance div 32;
   end;
 end;
end;
end;