From c1b4caa82ba2b1cb9525c4515627eee0106029aa Mon Sep 17 00:00:00 2001 From: Daniel Grigencha Date: Wed, 4 Dec 2024 02:22:58 +0100 Subject: [PATCH] Updated 'LobbyState' class. Updated the 'LobbyState' class by updating the 'received(ServerStartGameMessage msg)' method in it after updating the 'ServerStartGameMessage' class. --- .../java/pp/mdga/client/dialogState/LobbyState.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java index 25b54c88..9aa15c8b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java @@ -5,12 +5,14 @@ import pp.mdga.client.DialogsState; import pp.mdga.game.Color; import pp.mdga.game.Piece; +import pp.mdga.game.Player; import pp.mdga.message.client.*; import pp.mdga.message.server.*; import pp.mdga.notification.*; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.UUID; public class LobbyState extends DialogStates { @@ -61,9 +63,7 @@ public void selectUnready() { @Override public void selectStart() { if (logic.isHost() && logic.getGame().areAllReady()) { - logic.send(new StartGameMessage(false)); - } else if (logic.isHost() && !logic.getGame().areAllReady()) { - logic.send(new StartGameMessage(true)); + logic.send(new StartGameMessage()); } else { LOGGER.log(System.Logger.Level.ERROR, "You are not the host"); } @@ -71,6 +71,13 @@ public void selectStart() { @Override public void received(ServerStartGameMessage msg) { + for (Player player: msg.getPlayers()) { + for (Map.Entry entry: this.logic.getGame().getPlayers().entrySet()) { + if (entry.getValue().getColor() == player.getColor()) { + this.logic.getGame().getPlayers().put(entry.getKey(), player); + } + } + } logic.getGame().setBoard(msg.getBoard()); logic.addNotification(new GameNotification(logic.getGame().getPlayerById(logic.getOwnPlayerId()).getColor())); for (var player : logic.getGame().getPlayers().values()) {