From c9362a7a95cc6736b069aa77601bf8dfb5b49876 Mon Sep 17 00:00:00 2001 From: Hanno Fleischer Date: Wed, 27 Nov 2024 09:19:57 +0100 Subject: [PATCH] fixed bugs so the programm would start and added some Todo where code is missing or was fraudulent --- .../mdga/client/NotificationSynchronizer.java | 1 + .../java/pp/mdga/client/server/MdgaServer.java | 13 +++++++++---- .../java/pp/mdga/client/ClientGameLogic.java | 5 +++++ .../main/java/pp/mdga/client/ClientState.java | 5 +++++ .../model/src/main/java/pp/mdga/game/Game.java | 2 +- .../pp/mdga/message/server/UpdateReady.java | 18 +++++++++--------- .../pp/mdga/server/automaton/LobbyState.java | 2 +- 7 files changed, 31 insertions(+), 15 deletions(-) diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java index 44a6c726..76767434 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java @@ -2,6 +2,7 @@ import pp.mdga.client.view.GameView; import pp.mdga.client.view.LobbyView; +import pp.mdga.notification.*; import java.util.ArrayList; diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java index b1b488ae..bc6f7a3f 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/server/MdgaServer.java @@ -5,7 +5,7 @@ import pp.mdga.game.Game; import pp.mdga.game.Player; import pp.mdga.message.client.*; -import pp.mdga.message.server.ServerMessage; +import pp.mdga.message.server.*; import pp.mdga.server.ServerGameLogic; import pp.mdga.server.ServerSender; @@ -108,7 +108,7 @@ private void initializeSerializables() { Serializer.registerClass(AnyPiece.class); Serializer.registerClass(Briefing.class); Serializer.registerClass(CeremonyMessage.class); - Serializer.registerClass(Dice.class); + Serializer.registerClass(Die.class); Serializer.registerClass(DiceAgain.class); Serializer.registerClass(DiceNow.class); Serializer.registerClass(EndOfTurn.class); @@ -138,7 +138,7 @@ private void registerListeners() { myServer.addMessageListener(this, ClientStartGame.class); myServer.addMessageListener(this, DeselectTSK.class); myServer.addMessageListener(this, ForceContinueGame.class); - myServer.addMessageListener(this, ForceStartGame.class); + myServer.addMessageListener(this, StartGame.class); myServer.addMessageListener(this, JoinServer.class); myServer.addMessageListener(this, LeaveGame.class); myServer.addMessageListener(this, LobbyNotReady.class); @@ -223,7 +223,12 @@ public void send(int id, ServerMessage message) { */ public void broadcast(ServerMessage message) { for (Map.Entry entry: this.logic.getGame().getPlayers().entrySet()) { - this.send(entry.getValue().getId(), message); + this.send(entry.getKey(), message); } } + + @Override + public void messageReceived(HostedConnection source, Message m) { + + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java index d197c0d4..8e2a4a78 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java @@ -182,6 +182,11 @@ public void received(WaitPiece msg) { state.received(msg); } + @Override + public void received(Spectator msg) { + state.received(msg); + } + public void selectPiece(UUID pieceId){ state.selectPiece(pieceId); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java index a337cfc0..5a89118c 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java @@ -163,6 +163,11 @@ public void received(UpdateTSK msg) { LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); } + @Override + public void received(Spectator msg) { + LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); + } + @Override public void received(WaitPiece msg) { LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java index e76cffb6..6929c6ac 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java @@ -139,7 +139,7 @@ public int getNumberOfActivePlayers() { */ public void notifyObservers() { for (Observer observer : new ArrayList<>(observers)) { - observer.update(); + //observer.update(); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReady.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReady.java index 6e815c95..233f6e7c 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReady.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReady.java @@ -11,7 +11,7 @@ public class UpdateReady extends ServerMessage { /** * The color associated with the update. */ - private final Color color; + private final int playerId; /** * Indicates whether the player is ready. @@ -21,12 +21,12 @@ public class UpdateReady extends ServerMessage { /** * Constructs a new UpdateReady instance with the specified color and readiness status. * - * @param color the color associated with the update + * @param playerId the playerId associated with the update * @param ready the readiness status */ - public UpdateReady(Color color, boolean ready) { + public UpdateReady(int playerId, boolean ready) { super(); - this.color = color; + this.playerId = playerId; this.ready = ready; } @@ -35,17 +35,17 @@ public UpdateReady(Color color, boolean ready) { */ private UpdateReady() { super(); - this.color = null; + this.playerId = 0; this.ready = false; } /** - * Gets the color associated with the update. + * Gets the playerId associated with the update. * - * @return the color + * @return the playerId */ - public Color getColor() { - return color; + public int getPlayerId() { + return playerId; } /** 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 a41075ea..9e1674ac 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 @@ -81,7 +81,7 @@ public void received(LobbyNotReady msg, int from) { * @param from as the client id of the player as an Integer. */ @Override - public void received(ForceStartGame msg, int from) { + public void received(StartGame msg, int from) { this.logic.getServerSender().broadcast(new ServerStartGame()); this.logic.setCurrentState(this.logic.getGameState()); }