Loading

Revision differences

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