Loading

Paste #p7wwtf7xn

  1. /* method 1 */     
  2. //      for (local tile = 0; tile <= AIMap.GetMapSize(); tile++) {
  3. //          if (!AIMap.IsValidTile(tile)) continue;
  4. //          local dist = AITile.GetDistanceSquareToTile(tile, airport1_tile);
  5. //          local fake = WrightAI.DistanceRealFake(tile, airport1_tile);
  6. //          if (dist <= max_dist && dist >= min_dist && fake <= fakedist * 11 / 10) {
  7. //              tileList.AddItem(tile, dist);
  8. //              AISign.BuildSign(tile, ("" + dist + ""));
  9. //          }
  10. //      }
  11. //      if (tileList.Count() == 0) {
  12. //          //continue;
  13. //          AILog.Info("tileList.Count() is 0");
  14. //      }
  15. //      local closestTownscopy = AIList();
  16. //      closestTownscopy.AddList(closestTowns);
  17. //      for (local town = closestTownscopy.Begin(); closestTownscopy.HasNext(); town = closestTownscopy.Next()) {
  18. //          if (!tileList.HasItem(AITown.GetLocation(town))) {
  19. //              closestTowns.RemoveItem(town);
  20. //          }
  21. //      }
  22.  
  23. /* method 2 */
  24.         local closestTownscopy = AIList();
  25.         closestTownscopy.AddList(closestTowns);
  26.         for (local town = closestTownscopy.Begin(); closestTownscopy.HasNext(); town = closestTownscopy.Next()) {
  27.             local dist = AITile.GetDistanceSquareToTile(AITown.GetLocation(town), airport1_tile);
  28.             local fake = WrightAI.DistanceRealFake(AITown.GetLocation(town), airport1_tile);
  29.             if (!(dist <= max_dist && dist >= min_dist && fake <= fakedist * 11 / 10)) {
  30.                 closestTowns.RemoveItem(town);
  31.             }
  32.         }
  33.         AILog.Info("There are " + closestTowns.Count() + " towns near " + AITown.GetName(AITile.GetClosestTown(airport1_tile)));
  34.         closestTowns.KeepTop(10);
  35.     }

Comments