diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java index 5e057bce..1708ac52 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java @@ -54,6 +54,9 @@ public Color next(Game game) { ArrayList colorsInGame = new ArrayList<>(); for(Player p : game.getPlayers().values()) { + if(p.isFinished()) { + continue; + } colorsInGame.add(p.getColor()); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java index 690965ec..dcc1166a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java @@ -36,11 +36,11 @@ public void enter() { } private void setActivePlayer(Color activePlayer) { - if (logic.getGame().getPlayerByColor(activePlayer.next(logic.getGame())).isFinished()) { + if (!logic.getGame().getPlayerByColor(activePlayer.next(logic.getGame())).isFinished()) { logic.getGame().setActiveColor(logic.getGame().getActiveColor().next(logic.getGame())); logic.getServerSender().broadcast(new ActivePlayerMessage(activePlayer.next(logic.getGame()))); } else { - setActivePlayer(logic.getGame().getActiveColor()); + throw new RuntimeException("handle player finished is not yet implemented"); //TODO } }