From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- src/net/sf/freecol/server/ai/EuropeanAIPlayer.java | 24 +++++++++++++--------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java index 50a6ff4ce07..eaa57d0b5e2 100644 --- a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java +++ b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java @@ -541,16 +541,20 @@ public class EuropeanAIPlayer extends MissionAIPlayer { Location target = null; // Few colonies? Attack the weakest European port if (colonies.size() < 3) { - final Comparator<Colony> targetScore - = cachingDoubleComparator(c -> { - double score = 100000.0 / c.getUnitCount(); - Building stockade = c.getStockade(); - return (stockade == null) ? 1.0 - : score / (stockade.getLevel() + 1.5); - }); - target = maximize(flatten(enemies, Player::isEuropean, - Player::getPorts), - targetScore); + double target_quot = 0; + for (Player p : enemies) { + if (!p.isEuropean()) continue; + for (Colony c : p.getPorts()) { + double score = 100000.0 / c.getUnitCount(); + Building stockade = c.getStockade(); + double quot = (stockade == null) ? 1.0 + : score / (stockade.getLevel() + 1.5); + if (target == null || quot > target_quot) { + target = c; + target_quot = quot; + } + } + } } // Otherwise attack something near a weak colony if (target == null && !colonies.isEmpty()) { -- 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