anchor.diff:  begin
     NextSeed();
     Result := fSeed * 0.000000000465661287307739; // Seed / High(Integer) = Seed * (1/2^31) = Seed * 0.000000000465661287307739 -> faster
  -  if Result < 0 then
  +  if (Result < 0) then
        Result := -Result;
   end;
   
  
positive.code:     Next: TResElementPointer;
    end;
  
  // Random number generator for RMG
    TKMRandomNumberGenerator = class
    private
  
negative.code: end;
  
  
  { TKMBalancedResources }
  constructor TKMBalancedResources.Create();
  begin
    fResCnt := 0;
  end;
  
  
  destructor TKMBalancedResources.Destroy();
  begin
  
  end;
  
  
  procedure TKMBalancedResources.ClearArray();
  begin
    SetLength(fResources, 0);
  end;
  
  
  procedure TKMBalancedResources.AddResource(aOwner, aResource, aMinesCnt: Byte; aQuantity: Integer; aPoints: TKMPointArray);
  begin
    if (fResCnt >= Length(fResources)) then
      SetLength(fResources, fResCnt + 24);
    with Resources[fResCnt] do
    begin
      InitOwner := aOwner;
      //Owners[0] := aOwner;
      Resource := aResource;
      MinesCnt := aMinesCnt;
      Quantity := aQuantity;
      Points := aPoints;
    end;
    fResCnt := fResCnt + 1;
  end;
  
  end.
  