From 8f53b76a3e6d81079cf294adbfb1dbd07b28d5b8 Mon Sep 17 00:00:00 2001 From: Daniel Grigencha Date: Sun, 1 Dec 2024 23:39:36 +0100 Subject: [PATCH 1/3] Updated 'ServerStartGameMessage' class. Updated the 'ServerStartGameMessage' class by adding the 'board' attribute and its getter method to it. --- .../server/ServerStartGameMessage.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java index ac448825..37c22e1e 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java @@ -1,17 +1,33 @@ package pp.mdga.message.server; import com.jme3.network.serializing.Serializable; +import pp.mdga.game.Board; /** * A message indicating that the game shall start. */ @Serializable public class ServerStartGameMessage extends ServerMessage { + /** + * Create ServerStartGameMessage attributes. + */ + private final Board board; + /** * Constructs a new ServerStartGame instance. */ public ServerStartGameMessage() { super(); + this.board = null; + } + + /** + * Constructor. + * + * @param board as the complete board of this game as a Board object. + */ + public ServerStartGameMessage(Board board) { + this.board = board; } /** @@ -24,6 +40,15 @@ public void accept(ServerInterpreter interpreter) { interpreter.received(this); } + /** + * This method will be used to return board attribute of ServerStartGameMessage class. + * + * @return board as a Board object. + */ + public Board getBoard() { + return this.board; + } + /** * Returns a string representation of this message. * From adcf65d7aae2220126a16bf4f368deda6fcd56d2 Mon Sep 17 00:00:00 2001 From: Daniel Grigencha Date: Sun, 1 Dec 2024 23:41:10 +0100 Subject: [PATCH 2/3] Updated 'LobbyState' class. Updated the 'LobbyState' class by sending a broadcast message after all players are ready. In Addition, the 'ServerStartGameMessage' getting the 'Board' object. --- .../src/main/java/pp/mdga/server/automaton/LobbyState.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java index d38e7884..a8fe300f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java @@ -109,6 +109,7 @@ public void received(LobbyReadyMessage msg, int from) { } this.logic.getGame().setAllReady(true); + this.logic.getServerSender().broadcast(new ServerStartGameMessage(this.logic.getGame().getBoard())); } /** @@ -149,7 +150,7 @@ public void received(LeaveGameMessage msg, int from) { @Override public void received(StartGameMessage msg, int from) { if (msg.isForceStartGame() || this.logic.getGame().allReady()) { - this.logic.getServerSender().broadcast(new ServerStartGameMessage()); + this.logic.getServerSender().broadcast(new ServerStartGameMessage(this.logic.getGame().getBoard())); this.logic.setCurrentState(this.logic.getGameState()); } } From f0cab64910b8f1deef57ec9e2f75f71fa232b6f0 Mon Sep 17 00:00:00 2001 From: Felix Koppe Date: Sun, 1 Dec 2024 23:46:46 +0100 Subject: [PATCH 3/3] Minor change --- Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java index 20ade189..21f305f9 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/MdgaApp.java @@ -107,7 +107,7 @@ public void simpleInitApp() { gameView = new GameView(this); ceremonyView = new CeremonyView(this); - enter(MdgaState.GAME); + enter(MdgaState.MAIN); } /**