From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>
--- .../sf/freecol/server/ai/TileImprovementPlan.java | 27 ++++++++++++---------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/net/sf/freecol/server/ai/TileImprovementPlan.java b/src/net/sf/freecol/server/ai/TileImprovementPlan.java index 868df512114..11147267ed7 100644 --- a/src/net/sf/freecol/server/ai/TileImprovementPlan.java +++ b/src/net/sf/freecol/server/ai/TileImprovementPlan.java @@ -20,7 +20,6 @@ package net.sf.freecol.server.ai; import java.util.Comparator; -import java.util.function.Predicate; import java.util.logging.Logger; import javax.xml.stream.XMLStreamException; @@ -184,23 +183,27 @@ public class TileImprovementPlan extends ValuedAIObject { public static TileImprovementType getBestTileImprovementType(Tile tile, GoodsType goodsType) { final Specification spec = tile.getSpecification(); - final Predicate<TileImprovementType> goodTIPred = it -> - !it.isNatural() + + TileImprovementType best = null; + int best_iv = 0; + for (TileImprovementType it : spec.getTileImprovementTypeList()) { + if (!(!it.isNatural() && it.isTileTypeAllowed(tile.getType()) // FIXME: For now, disable any exotic non-Col1 // improvement types that expend more than one parcel // of tools (e.g. plantForest), because // PioneeringMission assumes this does not happen. && it.getExpendedAmount() <= 1 - && tile.getTileImprovement(it) == null; - final Comparator<TileImprovementType> bestTIComp - = cachingIntComparator(it -> - it.getImprovementValue(tile, goodsType)); - TileImprovementType best = maximize(spec.getTileImprovementTypeList(), - goodTIPred, bestTIComp); - return (best == null || best.getImprovementValue(tile, goodsType) <= 0) - ? null - : best; + && tile.getTileImprovement(it) == null)) continue; + + int iv = it.getImprovementValue(tile, goodsType); + if (best == null || iv > best_iv) { + best = it; + best_iv = iv; + } + } + + return (best != null || best_iv > 0) ? best : null; } /** -- 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