1 | /* method 1 */
| 1 | local closestTownscopy = AIList();
|
---|
2 | // for (local tile = 0; tile <= AIMap.GetMapSize(); tile++) {
| 2 | for (local town = closestTowns.Begin(); closestTowns.HasNext(); town = closestTowns.Next()) {
|
---|
3 | // if (!AIMap.IsValidTile(tile)) continue;
| 3 | local closest_town = AITile.GetClosestTown(tile);
|
---|
4 | // local dist = AITile.GetDistanceSquareToTile(tile, airport1_tile);
| 4 | if (closestTowns.HasItem(closest_town) {
|
---|
5 | // local fake = WrightAI.DistanceRealFake(tile, airport1_tile);
| 5 | closestTownscopy.AddItem(town);
|
---|
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);
| | |
---|