From: "Enrico Weigelt, metux IT consult" <[email protected]>
---
src/net/sf/freecol/server/ai/EuropeanAIPlayer.java | 26 +++++++++++++---------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
index eaa57d0b5e2..123b68280cc 100644
--- a/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
+++ b/src/net/sf/freecol/server/ai/EuropeanAIPlayer.java
@@ -30,7 +30,6 @@ import java.util.Random;
import java.util.Set;
import java.util.function.Function;
import java.util.function.Predicate;
-import java.util.function.ToDoubleFunction;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
@@ -1194,19 +1193,24 @@ public class EuropeanAIPlayer extends MissionAIPlayer {
*/
public GoodsWish getBestGoodsWish(AIUnit aiUnit, GoodsType goodsType) {
final Unit carrier = aiUnit.getUnit();
- final ToDoubleFunction<GoodsWish> wishValue
- = cacheDouble(gw -> {
- int turns = carrier.getTurnsToReach(carrier.getLocation(),
+
+ List<GoodsWish> wishes = goodsWishes.get(goodsType);
+ if (wishes == null) return null;
+
+ GoodsWish best = null;
+ double best_gwv = 0;
+ for (GoodsWish gw : wishes) {
+ int turns = carrier.getTurnsToReach(carrier.getLocation(),
gw.getDestination());
- return (turns >= Unit.MANY_TURNS) ? -1.0
+ double gwv = (turns >= Unit.MANY_TURNS) ? -1.0
: (double)gw.getValue() / turns;
- });
- final Comparator<GoodsWish> comp
- = Comparator.comparingDouble(wishValue);
+ if (best == null || gwv > best_gwv) {
+ best = gw;
+ best_gwv = gwv;
+ }
+ }
- List<GoodsWish> wishes = goodsWishes.get(goodsType);
- return (wishes == null) ? null
- : maximize(wishes, gw -> wishValue.applyAsDouble(gw) > 0.0, comp);
+ return best;
}
/**
--
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/freecol-developers