From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- src/net/sf/freecol/server/ai/NativeAIPlayer.java | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/net/sf/freecol/server/ai/NativeAIPlayer.java b/src/net/sf/freecol/server/ai/NativeAIPlayer.java index baf90fabdf1..6a863f53ca0 100644 --- a/src/net/sf/freecol/server/ai/NativeAIPlayer.java +++ b/src/net/sf/freecol/server/ai/NativeAIPlayer.java @@ -27,8 +27,6 @@ import java.util.List; import java.util.Random; import java.util.Set; import java.util.function.Function; -import java.util.function.Predicate; -import java.util.function.ToIntFunction; import java.util.logging.Level; import java.util.logging.Logger; @@ -354,14 +352,20 @@ public class NativeAIPlayer extends MissionAIPlayer { // Assign units to attack the threats, greedily chosing closest unit. while (!threatTiles.isEmpty() && !units.isEmpty()) { Tile tile = threatTiles.remove(0); - final ToIntFunction<Unit> score = cacheInt(u -> - u.getTile().getDistanceTo(tile)); - final Predicate<Unit> validPred = u -> - UnitSeekAndDestroyMission.invalidReason(aiMain.getAIUnit(u), - tile.getDefendingUnit(u)) == null - && score.applyAsInt(u) >= 0; - final Comparator<Unit> scoreComp = Comparator.comparingInt(score); - Unit unit = minimize(units, validPred, scoreComp); + + Unit unit = null; + int min_dist = 0; + for (Unit u : units) { + int dist = u.getTile().getDistanceTo(tile); + if (UnitSeekAndDestroyMission.invalidReason(aiMain.getAIUnit(u), + tile.getDefendingUnit(u)) == null && dist >= 0) { + if (unit == null || dist < min_dist) { + unit = u; + min_dist = dist; + } + } + } + if (unit == null) continue; // Declined to attack. units.remove(unit); AIUnit aiUnit = aiMain.getAIUnit(unit); -- 2.11.0.rc0.7.gbe5a750 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freecol-developers mailing list Freecol-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freecol-developers