From: "Enrico Weigelt, metux IT consult" <[email protected]>
---
.../freecol/server/generator/SimpleMapGenerator.java | 19 +++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
b/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
index 53007bdd3c8..5a1ab8985f9 100644
--- a/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
+++ b/src/net/sf/freecol/server/generator/SimpleMapGenerator.java
@@ -660,14 +660,21 @@ public class SimpleMapGenerator implements MapGenerator {
int radius, List<Tile> tiles,
LogBuilder lb) {
final Tile center = territory.getCenterTile(map);
- final Predicate<Tile> terrPred = t ->
- territory.player.getClaimableTiles(t, radius).size()
- >= (2 * radius + 1) * (2 * radius + 1) / 2;
- final Comparator<Tile> comp
- = Comparator.comparingInt(t -> t.getDistanceTo(center));
// Choose a tile that is free and half the expected tile claims
// can succeed, preventing capitals on small islands.
- Tile t = first(transform(tiles, terrPred, Function.identity(), comp));
+ Tile t = null;
+ int best_dist = Integer.MAX_VALUE;
+ for (Tile walk : tiles) {
+ if (territory.player.getClaimableTiles(walk, radius).size()
+ >= (2 * radius + 1) * (2 * radius + 1) / 2) {
+ int dist = walk.getDistanceTo(center);
+ if (dist < best_dist) {
+ t = walk;
+ best_dist = dist;
+ }
+ }
+ }
+
if (t == null) return null;
String name = (territory.region == null) ? "default region"
--
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