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

Reply via email to