From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- src/net/sf/freecol/server/ai/EuropeanAIPlayer.java | 27 +++++++++++++--------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java index 7877c97cf73..e5005c05f2d 100644 --- a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java +++ b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java @@ -32,7 +32,6 @@ import java.util.function.Function; import java.util.function.Predicate; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.stream.Collectors; import javax.xml.stream.XMLStreamException; @@ -478,17 +477,23 @@ public class EuropeanAIPlayer extends MissionAIPlayer { } if (randoms[cheatIndex++] < landUnitCheatPercent) { - final Predicate<Entry<UnitType, List<WorkerWish>>> bestWishPred = e -> { + /* find the maximum */ + WorkerWish bestWish = null; + for (Entry<UnitType, List<WorkerWish>> e : workerWishes.entrySet()) { UnitType ut = e.getKey(); - return ut != null && ut.isAvailableTo(player) - && europe.getUnitPrice(ut) != UNDEFINED - && any(e.getValue()); - }; - WorkerWish bestWish = maximize(transform(workerWishes.entrySet(), - bestWishPred, - e -> first(e.getValue()), - Collectors.toSet()), - ValuedAIObject.ascendingValueComparator); + List<WorkerWish> wishlist = e.getValue(); + if (ut != null && ut.isAvailableTo(player) + && europe.getUnitPrice(ut) != UNDEFINED + && (!wishlist.isEmpty())) + { + WorkerWish ww = first(wishlist); + if ((bestWish == null) || + (ValuedAIObject.ascendingValueComparator.compare(bestWish, ww) < 0)) + bestWish = ww; + + } + } + int cost = (bestWish != null) ? europe.getUnitPrice(bestWish.getUnitType()) : (player.getImmigration() < player.getImmigrationRequired() / 2) -- 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