| 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 | } | | |
|---|