hedgewars/uLand.pas
changeset 10 edf56dca1587
parent 8 24048039955c
child 22 517be8dc5b76
equal deleted inserted replaced
9:4cbf854ad095 10:edf56dca1587
   390        for i:= x1 to x2 do Land[k, i]:= $FFFFFF
   390        for i:= x1 to x2 do Land[k, i]:= $FFFFFF
   391    end
   391    end
   392 end;
   392 end;
   393 
   393 
   394 procedure AddHHPoints;
   394 procedure AddHHPoints;
   395 var i, x, y, t: integer;
   395 var x, y, t: integer;
   396 
   396 
   397     function CountNonZeroz(x, y: integer): integer;
   397     function CountNonZeroz(x, y: integer): integer;
   398     var i: integer;
   398     var i: integer;
   399     begin
   399     begin
   400     Result:= 0;
   400     Result:= 0;
   402     for i:= max(x - 6, 0) to min(x + 6, 2043) do
   402     for i:= max(x - 6, 0) to min(x + 6, 2043) do
   403         if Land[y, i] <> 0 then inc(Result)
   403         if Land[y, i] <> 0 then inc(Result)
   404     end;
   404     end;
   405 
   405 
   406 begin
   406 begin
   407 for i:= 0 to 9 do
   407 x:= 40;
       
   408 while x < 2010 do
   408     begin
   409     begin
   409     y:= -24;
   410     y:= -24;
   410     x:= i * 160 + 300;
       
   411     while y < 1023 do
   411     while y < 1023 do
   412           begin
   412           begin
   413           repeat
   413           repeat
   414           inc(y, 2);
   414           inc(y, 2);
   415           until (y > 1023) or (CountNonZeroz(x, y) = 0);
   415           until (y > 1023) or (CountNonZeroz(x, y) = 0);
   419           inc(t, 2)
   419           inc(t, 2)
   420           until (y > 1023) or (CountNonZeroz(x, y) <> 0);
   420           until (y > 1023) or (CountNonZeroz(x, y) <> 0);
   421           if (t > 22) and (y < 1023) then AddHHPoint(x, y - 12);
   421           if (t > 22) and (y < 1023) then AddHHPoint(x, y - 12);
   422           inc(y, 100)
   422           inc(y, 100)
   423           end;
   423           end;
       
   424     inc(x, 160)
   424     end;
   425     end;
   425 end;
   426 end;
   426 
   427 
   427 procedure GenLandSurface;
   428 procedure GenLandSurface;
   428 var pa: TPixAr;
   429 var pa: TPixAr;