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();
|
---|
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 | } | | |
---|