From: "Enrico Weigelt, metux IT consult" <enrico.weig...@gr13.net>

---
 src/net/sf/freecol/server/model/ServerGame.java | 32 ++++++++++++++++++-------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/src/net/sf/freecol/server/model/ServerGame.java 
b/src/net/sf/freecol/server/model/ServerGame.java
index a7bc9d8bb31..d2aed2cd7b0 100644
--- a/src/net/sf/freecol/server/model/ServerGame.java
+++ b/src/net/sf/freecol/server/model/ServerGame.java
@@ -255,19 +255,33 @@ public class ServerGame extends Game implements 
ServerModelObject {
     public Player checkForWinner() {
         final Specification spec = getSpecification();
         if (spec.getBoolean(GameOptions.VICTORY_DEFEAT_REF)) {
-            Player winner = find(getLiveEuropeanPlayers(),
-                p -> p.getPlayerType() == Player.PlayerType.INDEPENDENT);
-            if (winner != null) return winner;
+            for (Player winner : getLiveEuropeanPlayers())
+                if (winner.getPlayerType() == Player.PlayerType.INDEPENDENT)
+                    return winner;
         }
+
         if (spec.getBoolean(GameOptions.VICTORY_DEFEAT_EUROPEANS)) {
-            List<Player> winners = transform(getLiveEuropeanPlayers(),
-                                             p -> !p.isREF());
-            if (winners.size() == 1) return winners.get(0);
+            Player winner = null;
+            int count = 0;
+            for (Player p : getLiveEuropeanPlayers()) {
+                if (!p.isREF()) {
+                    if (winner == null) winner = p;
+                    count++;
+                }
+            }
+            if (count == 1) return winner;
         }
+
         if (spec.getBoolean(GameOptions.VICTORY_DEFEAT_HUMANS)) {
-            List<Player> winners = transform(getLiveEuropeanPlayers(),
-                                             p -> !p.isAI());
-            if (winners.size() == 1) return winners.get(0);
+            Player winner = null;
+            int count = 0;
+            for (Player p : getLiveEuropeanPlayers()) {
+                if (!p.isAI()) {
+                    if (winner == null) winner = p;
+                    count++;
+                }
+            }
+            if (count == 1) return winner;
         }
         return 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

Reply via email to