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 0d54e6e7..28e9d6e5 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 @@ -144,7 +144,6 @@ private void initializeSerializables() { Serializer.registerClass(Piece.class); Serializer.registerClass(BonusNode.class); Serializer.registerClass(StartNode.class); - Serializer.registerClass(PlayerData.class); Serializer.registerClass(HomeNode.class); Serializer.registerClass(Color.class, new EnumSerializer()); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java index ae64890b..eda27c79 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java @@ -1,9 +1,8 @@ package pp.mdga.client; -import pp.mdga.client.ceremonyState.CeremonyStates; -import pp.mdga.client.ceremonyState.PodiumState; -import pp.mdga.client.ceremonyState.StatisticsState; -import pp.mdga.notification.CeremonyNotification; +import pp.mdga.client.ceremonystate.CeremonyStates; +import pp.mdga.client.ceremonystate.PodiumState; +import pp.mdga.client.ceremonystate.StatisticsState; public class CeremonyState extends ClientState { 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 8829e43f..1b7a7be5 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 @@ -5,13 +5,13 @@ import pp.mdga.game.Color; import pp.mdga.game.Game; import pp.mdga.game.Piece; -import pp.mdga.game.PlayerData; import pp.mdga.message.client.ClientMessage; import pp.mdga.message.server.*; -import pp.mdga.notification.*; +import pp.mdga.notification.InfoNotification; +import pp.mdga.notification.Notification; +import pp.mdga.notification.StartDialogNotification; import java.util.ArrayList; -import java.util.Map; import java.util.UUID; /** @@ -52,20 +52,21 @@ public ClientGameLogic(ClientSender clientSender) { * * @param msg the message to be sent */ - public void send(ClientMessage msg){ + public void send(ClientMessage msg) { LOGGER.log(System.Logger.Level.INFO, "send {0}", msg); clientSender.send(msg); } /** * This method is used to get a piece by its id + * * @param pieceId the UUID of the piece * @return the piece */ - private Piece getPiece(UUID pieceId){ - for(Map.Entry entry : game.getBoard().getPlayerData().entrySet()){ - for(Piece piece : entry.getValue().getPieces()){ - if(piece.getUuid().equals(pieceId)){ + private Piece getPiece(UUID pieceId) { + for (var player : this.game.getPlayers().values()) { + for (Piece piece : player.getPieces()) { + if (piece.getUuid().equals(pieceId)) { return piece; } } @@ -78,7 +79,7 @@ private Piece getPiece(UUID pieceId){ * * @return the clientSender */ - public ClientSender getClientSender(){ + public ClientSender getClientSender() { return clientSender; } @@ -123,7 +124,7 @@ public void setOwnPlayerId(int ownPlayerId) { * * @return the game */ - public Game getGame(){ + public Game getGame() { return game; } @@ -132,7 +133,7 @@ public Game getGame(){ * * @return the current State */ - public ClientState getState(){ + public ClientState getState() { return state; } @@ -141,7 +142,7 @@ public ClientState getState(){ * * @return if the client is a host */ - public boolean isHost(){ + public boolean isHost() { return isHost; } @@ -150,8 +151,8 @@ public boolean isHost(){ * * @return the calculated moves as int */ - public int getCalculatedMoves(){ - return game.getDiceEyes() * game.getDiceModifier(); + public int getCalculatedMoves() { + return 0; } /** @@ -159,7 +160,7 @@ public int getCalculatedMoves(){ * * @param isHost the boolean value */ - public void setHost(boolean isHost){ + public void setHost(boolean isHost) { this.isHost = isHost; } @@ -480,14 +481,14 @@ public void received(SelectPieceMessage msg) { * * @param pieceId the pieceID */ - public void selectPiece(UUID pieceId){ + public void selectPiece(UUID pieceId) { state.selectPiece(getPiece(pieceId)); } /** * This method call the method selectNExt of the state */ - public void selectNext(){ + public void selectNext() { state.selectNext(); } @@ -496,7 +497,7 @@ public void selectNext(){ * * @param card the BonusCard to selected */ - public void selectCard(BonusCard card){ + public void selectCard(BonusCard card) { state.selectCard(card); } @@ -505,7 +506,7 @@ public void selectCard(BonusCard card){ * * @param color the Color to be selected */ - public void selectTsk(Color color){ + public void selectTsk(Color color) { state.selectTSK(color); } @@ -514,14 +515,14 @@ public void selectTsk(Color color){ * * @param color the color to be deselcted */ - public void deselectTSK(Color color){ + public void deselectTSK(Color color) { state.deselectTSK(color); } /** * This method calls the selectDice method of the state */ - public void selectDice(){ + public void selectDice() { state.selectDice(); } @@ -530,7 +531,7 @@ public void selectDice(){ * * @param name the name to be set */ - public void selectName(String name){ + public void selectName(String name) { state.setName(name); } @@ -539,8 +540,8 @@ public void selectName(String name){ * * @param ready the value if this method should ready or unready */ - public void selectReady(boolean ready){ - if(ready){ + public void selectReady(boolean ready) { + if (ready) { state.selectReady(); } else { state.selectUnready(); @@ -552,14 +553,14 @@ public void selectReady(boolean ready){ * * @param name the name of the player hosting */ - public void selectHost(String name){ + public void selectHost(String name) { state.selectHost(name); } /** * This method calls the selectLeave method of the state */ - public void selectLeave(){ + public void selectLeave() { state.selectLeave(); } @@ -568,28 +569,28 @@ public void selectLeave(){ * * @param ip the ip to cennect to */ - public void selectJoin(String ip){ + public void selectJoin(String ip) { state.selectJoin(ip); } /** * This method calls the selectAnimationEnd method of the state */ - public void selectAnimationEnd(){ + public void selectAnimationEnd() { state.selectAnimationEnd(); } /** * This method calls the selectStart method of the state */ - public void selectStart(){ + public void selectStart() { state.selectStart(); } /** * This method calls the selectResume method of the state */ - public void selectResume(){ + public void selectResume() { state.selectResume(); } @@ -598,7 +599,7 @@ public void selectResume(){ * * @param state the new state */ - public void setState(ClientState state){ + public void setState(ClientState state) { this.state.exit(); state.enter(); this.state = state; @@ -607,7 +608,7 @@ public void setState(ClientState state){ /** * This method is used to enter the interrupt state and save the previous state */ - public void enterInterrupt(){ + public void enterInterrupt() { interruptState.enter(); interruptState.setPreviousState(state); this.state = interruptState; @@ -618,7 +619,7 @@ public void enterInterrupt(){ * * @return the GameState */ - public GameState getGameState(){ + public GameState getGameState() { return gameState; } @@ -627,7 +628,7 @@ public GameState getGameState(){ * * @return the CeremonyState */ - public CeremonyState getCeremony(){ + public CeremonyState getCeremony() { return ceremonyState; } @@ -636,7 +637,7 @@ public CeremonyState getCeremony(){ * * @return the InterruptState */ - public InterruptState getInterrupt(){ + public InterruptState getInterrupt() { return interruptState; } @@ -645,7 +646,7 @@ public InterruptState getInterrupt(){ * * @return the DialogsState */ - public DialogsState getDialogs(){ + public DialogsState getDialogs() { return dialogsState; } @@ -654,7 +655,7 @@ public DialogsState getDialogs(){ * * @return the SettingsState */ - public SettingsState getSettings(){ + public SettingsState getSettings() { return settingsState; } @@ -663,8 +664,8 @@ public SettingsState getSettings(){ * * @return the next notification */ - public Notification getNotification(){ - if(!notifications.isEmpty()){ + public Notification getNotification() { + if (!notifications.isEmpty()) { return notifications.remove(0); } else { return null; @@ -676,7 +677,7 @@ public Notification getNotification(){ * * @param notification the notification to be added */ - public void addNotification(Notification notification){ + public void addNotification(Notification notification) { notifications.add(notification); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java index 044be708..fc81beed 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java @@ -1,9 +1,9 @@ package pp.mdga.client; -import pp.mdga.client.dialogState.DialogStates; -import pp.mdga.client.dialogState.LobbyState; -import pp.mdga.client.dialogState.NetworkDialogState; -import pp.mdga.client.dialogState.StartDialogState; +import pp.mdga.client.dialogstate.DialogStates; +import pp.mdga.client.dialogstate.LobbyState; +import pp.mdga.client.dialogstate.NetworkDialogState; +import pp.mdga.client.dialogstate.StartDialogState; import pp.mdga.game.Color; import pp.mdga.message.server.*; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java index 34ad5d44..fbfc0e57 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java @@ -1,6 +1,6 @@ package pp.mdga.client; -import pp.mdga.client.gameState.*; +import pp.mdga.client.gamestate.*; import pp.mdga.game.BonusCard; import pp.mdga.game.Piece; import pp.mdga.message.client.LeaveGameMessage; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java index 343d974b..6d0d5855 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java @@ -1,9 +1,9 @@ package pp.mdga.client; -import pp.mdga.client.settingsState.AudioSettingsState; -import pp.mdga.client.settingsState.MainSettingsState; -import pp.mdga.client.settingsState.SettingStates; -import pp.mdga.client.settingsState.VideoSettingsState; +import pp.mdga.client.settingsstate.AudioSettingsState; +import pp.mdga.client.settingsstate.MainSettingsState; +import pp.mdga.client.settingsstate.SettingStates; +import pp.mdga.client.settingsstate.VideoSettingsState; public class SettingsState extends ClientState { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/CeremonyStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/CeremonyStates.java similarity index 86% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/CeremonyStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/CeremonyStates.java index 8bd888c7..b60ed5e9 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/CeremonyStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/CeremonyStates.java @@ -1,4 +1,4 @@ -package pp.mdga.client.ceremonyState; +package pp.mdga.client.ceremonystate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/PodiumState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/PodiumState.java similarity index 93% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/PodiumState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/PodiumState.java index 4410d8c0..374cf996 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/PodiumState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/PodiumState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.ceremonyState; +package pp.mdga.client.ceremonystate; import pp.mdga.client.CeremonyState; import pp.mdga.client.ClientGameLogic; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/StatisticsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/StatisticsState.java similarity index 91% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/StatisticsState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/StatisticsState.java index 89c5e8a1..3466831a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/StatisticsState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonystate/StatisticsState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.ceremonyState; +package pp.mdga.client.ceremonystate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/DialogStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/DialogStates.java similarity index 86% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/DialogStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/DialogStates.java index f4c549d2..26f0ff26 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/DialogStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/DialogStates.java @@ -1,4 +1,4 @@ -package pp.mdga.client.dialogState; +package pp.mdga.client.dialogstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; 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 similarity index 68% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/LobbyState.java index 06b97e13..bada315a 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 @@ -1,4 +1,4 @@ -package pp.mdga.client.dialogState; +package pp.mdga.client.dialogstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; @@ -6,16 +6,14 @@ import pp.mdga.game.Color; import pp.mdga.game.Piece; import pp.mdga.game.Player; -import pp.mdga.game.PlayerData; import pp.mdga.message.client.*; -import pp.mdga.message.server.LobbyPlayerJoinedMessage; -import pp.mdga.message.server.LobbyPlayerLeaveMessage; -import pp.mdga.message.server.ServerStartGameMessage; -import pp.mdga.message.server.UpdateReadyMessage; -import pp.mdga.message.server.UpdateTSKMessage; +import pp.mdga.message.server.*; import pp.mdga.notification.*; -import java.util.*; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.UUID; public class LobbyState extends DialogStates { @@ -58,41 +56,46 @@ public void selectReady() { } @Override - public void selectUnready(){ + public void selectUnready() { logic.send(new LobbyNotReadyMessage()); } @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)); + public void selectStart() { + if (logic.isHost() && logic.getGame().areAllReady()) { + logic.send(new StartGameMessage()); } else { LOGGER.log(System.Logger.Level.ERROR, "You are not the host"); } } @Override - public void received(ServerStartGameMessage msg){ + 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 (Map.Entry entry : logic.getGame().getPlayers().entrySet()) { + for (var player : logic.getGame().getPlayers().values()) { List pieces = new ArrayList<>(); - for (Piece piece : logic.getGame().getBoard().getPlayerData().get(entry.getValue().getColor()).getPieces()) { + for (Piece piece : player.getPieces()) { pieces.add(piece.getUuid()); } - logic.addNotification(new PlayerInGameNotification(entry.getValue().getColor(), pieces, entry.getValue().getName())); + logic.addNotification(new PlayerInGameNotification(player.getColor(), pieces, player.getName())); } logic.setState(logic.getGameState()); } @Override - public void received(LobbyPlayerJoinedMessage msg){ - if(msg.getPlayer().getName().equals(logic.getOwnPlayerName())){ + public void received(LobbyPlayerJoinedMessage msg) { + if (msg.getPlayer().getName().equals(logic.getOwnPlayerName())) { logic.setOwnPlayerId(msg.getId()); } - if (msg.isHost() && msg.getId() == logic.getOwnPlayerId()){ + if (msg.isHost() && msg.getId() == logic.getOwnPlayerId()) { logic.setHost(true); } @@ -101,9 +104,9 @@ public void received(LobbyPlayerJoinedMessage msg){ } @Override - public void received(UpdateTSKMessage msg){ - if(msg.isTaken()) { - logic.addNotification(new TskSelectNotification(msg.getColor(), logic.getGame().getPlayers().get(msg.getId()).getName(), logic.getOwnPlayerId()== msg.getId())); + public void received(UpdateTSKMessage msg) { + if (msg.isTaken()) { + logic.addNotification(new TskSelectNotification(msg.getColor(), logic.getGame().getPlayers().get(msg.getId()).getName(), logic.getOwnPlayerId() == msg.getId())); } else { logic.addNotification(new TskUnselectNotification(logic.getGame().getPlayers().get(msg.getId()).getColor())); } @@ -112,13 +115,13 @@ public void received(UpdateTSKMessage msg){ } @Override - public void received(LobbyPlayerLeaveMessage msg){ + public void received(LobbyPlayerLeaveMessage msg) { logic.addNotification(new TskUnselectNotification(logic.getGame().getPlayers().get(msg.getId()).getColor())); logic.getGame().getPlayers().remove(msg.getId()); } @Override - public void received(UpdateReadyMessage msg){ + public void received(UpdateReadyMessage msg) { //TODO server sendet kein update on UNready logic.addNotification(new LobbyReadyNotification(logic.getGame().getPlayers().get(msg.getPlayerId()).getColor(), msg.isReady())); logic.getGame().getPlayers().get(msg.getPlayerId()).setReady(msg.isReady()); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/NetworkDialogState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/NetworkDialogState.java similarity index 98% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/NetworkDialogState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/NetworkDialogState.java index a6a206d6..5f6236c8 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/NetworkDialogState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/NetworkDialogState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.dialogState; +package pp.mdga.client.dialogstate; import pp.mdga.Resources; import pp.mdga.client.ClientGameLogic; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/StartDialogState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/StartDialogState.java similarity index 96% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/StartDialogState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/StartDialogState.java index 6c49408b..2c0f879e 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/StartDialogState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogstate/StartDialogState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.dialogState; +package pp.mdga.client.dialogstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/AnimationState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/AnimationState.java similarity index 94% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/AnimationState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/AnimationState.java index a7aaf745..cc4f4c0b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/AnimationState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/AnimationState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.gameState; +package pp.mdga.client.gamestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/DetermineStartPlayerState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/DetermineStartPlayerState.java similarity index 72% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/DetermineStartPlayerState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/DetermineStartPlayerState.java index 4794785a..9ac6f912 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/DetermineStartPlayerState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/DetermineStartPlayerState.java @@ -1,11 +1,14 @@ -package pp.mdga.client.gameState; +package pp.mdga.client.gamestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; import pp.mdga.client.GameState; -import pp.mdga.client.gameState.determineStartPlayerState.DetermineStartPlayerStates; -import pp.mdga.client.gameState.determineStartPlayerState.RollRankingDiceState; -import pp.mdga.client.gameState.determineStartPlayerState.WaitRankingState; +import pp.mdga.client.gamestate.determinestartplayerstate.DetermineStartPlayerStates; +import pp.mdga.client.gamestate.determinestartplayerstate.Intro; +import pp.mdga.client.gamestate.determinestartplayerstate.RollRankingDiceState; +import pp.mdga.client.gamestate.determinestartplayerstate.WaitRankingState; +import pp.mdga.message.client.AnimationEndMessage; +import pp.mdga.message.server.ActivePlayerMessage; import pp.mdga.message.server.DieMessage; import pp.mdga.message.server.RankingResponseMessage; import pp.mdga.message.server.RankingRollAgainMessage; @@ -17,12 +20,33 @@ public class DetermineStartPlayerState extends GameStates { private final RollRankingDiceState rollRankingDiceState = new RollRankingDiceState(this, logic); private final WaitRankingState waitRankingState = new WaitRankingState(this, logic); + private final Intro intro = new Intro(this, logic); public DetermineStartPlayerState(ClientState parent, ClientGameLogic logic) { super(parent, logic); this.parent = (GameState) parent; } + public RollRankingDiceState getRollRankingDice() { + return rollRankingDiceState; + } + + public WaitRankingState getWaitRanking() { + return waitRankingState; + } + + public DetermineStartPlayerStates getState(){ + return state; + } + + public Intro getIntro(){ + return intro; + } + + public GameState getParent() { + return parent; + } + @Override public void enter() { this.setState(this.rollRankingDiceState); @@ -46,6 +70,11 @@ public void selectDice() { state.selectDice(); } + @Override + public void selectAnimationEnd(){ + state.selectAnimationEnd(); + } + @Override public void received(DieMessage msg){ state.received(msg); @@ -61,19 +90,8 @@ public void received(RankingResponseMessage msg){ state.received(msg); } - public RollRankingDiceState getRollRankingDice() { - return rollRankingDiceState; - } - - public WaitRankingState getWaitRanking() { - return waitRankingState; - } - - public DetermineStartPlayerStates getState(){ - return state; - } - - public GameState getParent() { - return parent; + @Override + public void received(ActivePlayerMessage msg){ + state.received(msg); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/GameStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/GameStates.java similarity index 81% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/GameStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/GameStates.java index 5bb880d7..66ae86a6 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/GameStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/GameStates.java @@ -1,4 +1,4 @@ -package pp.mdga.client.gameState; +package pp.mdga.client.gamestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; @@ -17,10 +17,10 @@ public GameStates(ClientState parent, ClientGameLogic logic) { super(parent, logic); } - protected void handlePowerCard(PlayCardMessage msg){ - if (msg.getCard().equals(BonusCard.TURBO)){ - logic.getGame().setDiceModifier(msg.getDiceModifier()); - } else if (msg.getCard().equals(BonusCard.SHIELD)){ + protected void handlePowerCard(PlayCardMessage msg) { + if (msg.getCard().equals(BonusCard.TURBO)) { + //logic.getGame().setDiceModifier(msg.getDiceModifier()); + } else if (msg.getCard().equals(BonusCard.SHIELD)) { if (logic.getGame().getBoard().getInfieldIndexOfPiece(logic.getGame().getPieceThroughUUID(msg.getPieceIdentifier())) % 10 != 0) { logic.getGame().getPieceThroughUUID(msg.getPieceIdentifier()).setShield(ShieldState.SUPPRESSED); logic.addNotification(new ShieldSuppressedNotification(logic.getGame().getPieceThroughUUID(msg.getPieceIdentifier()).getUuid())); @@ -36,12 +36,12 @@ protected void handlePowerCard(PlayCardMessage msg){ logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(enemyPiece)].setOccupant(ownPiece); logic.getGame().getBoard().getInfield()[ownIndex].setOccupant(enemyPiece); } - logic.getGame().getDiscardPile().add(logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).removeHandCard(msg.getCard())); + logic.getGame().getDiscardPile().add(msg.getCard()); } - protected void throwPiece(Piece piece){ + protected void throwPiece(Piece piece) { logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(piece)].clearOccupant(); - logic.getGame().getBoard().getPlayerData().get(piece.getColor()).addWaitingPiece(piece); + logic.getGame().getPlayerByColor(piece.getColor()).addWaitingPiece(piece); logic.addNotification(new ThrowPieceNotification(piece.getUuid())); logic.getGame().getPlayerByColor(piece.getColor()).getPlayerStatistic().increasePiecesBeingThrown(); logic.getGame().getGameStatistics().increasePiecesBeingThrown(); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/SpectatorState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/SpectatorState.java similarity index 77% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/SpectatorState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/SpectatorState.java index 9a0cbd7d..3b190708 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/SpectatorState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/SpectatorState.java @@ -1,11 +1,14 @@ -package pp.mdga.client.gameState; +package pp.mdga.client.gamestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; import pp.mdga.client.GameState; import pp.mdga.game.Piece; import pp.mdga.message.server.*; -import pp.mdga.notification.*; +import pp.mdga.notification.ActivePlayerNotification; +import pp.mdga.notification.HomeMoveNotification; +import pp.mdga.notification.MovePieceNotification; +import pp.mdga.notification.PlayCardNotification; public class SpectatorState extends GameStates { @@ -27,15 +30,15 @@ public void exit() { } @Override - public void received(CeremonyMessage msg){ + public void received(CeremonyMessage msg) { logic.setState(logic.getCeremony()); } @Override - public void received(DieMessage msg){ - logic.getGame().setDiceEyes(msg.getDiceEye()); + public void received(DieMessage msg) { + //logic.getGame().setDiceEyes(msg.getDiceEye()); // logic.addNotification(new RollDiceNotification(logic.getGame().getActiveColor(), logic.getGame().getDiceEyes(), logic.getGame().getDiceEyes() * logic.getGame().getDiceModifier())); - if(msg.getDiceEye() == 6){ + if (msg.getDiceEye() == 6) { logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseDiced6(); logic.getGame().getGameStatistics().increaseDiced6(); } @@ -43,7 +46,7 @@ public void received(DieMessage msg){ } @Override - public void received(PlayCardMessage msg){ + public void received(PlayCardMessage msg) { logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard())); handlePowerCard(msg); logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseCardsPlayed(); @@ -52,26 +55,26 @@ public void received(PlayCardMessage msg){ } @Override - public void received(ActivePlayerMessage msg){ + public void received(ActivePlayerMessage msg) { logic.addNotification(new ActivePlayerNotification(msg.getColor())); logic.getGame().setActiveColor(msg.getColor()); parent.setState(parent.getAnimation()); } @Override - public void received(MoveMessage msg){ + public void received(MoveMessage msg) { Piece pieceToMove = logic.getGame().getPieceThroughUUID(msg.getIdentifier()); - if (msg.isHomeMove()){ + if (msg.isHomeMove()) { logic.addNotification(new HomeMoveNotification(pieceToMove.getUuid(), msg.getTargetIndex())); logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)].clearOccupant(); - logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).setPieceInHome(msg.getTargetIndex(), pieceToMove); + logic.getGame().getPlayerByColor(pieceToMove.getColor()).setPieceInHome(msg.getTargetIndex(), pieceToMove); } else { if (logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].isOccupied()) { throwPiece(logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].getOccupant()); logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increasePiecesThrown(); logic.getGame().getGameStatistics().increasePiecesThrown(); } - if(logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).getStartNodeIndex() == logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)){ + if (logic.getGame().getPlayerByColor(pieceToMove.getColor()).getStartNodeIndex() == logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)) { logic.addNotification(new MovePieceNotification(pieceToMove.getUuid(), msg.getTargetIndex(), true)); logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].setOccupant(pieceToMove); } else { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/TurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java similarity index 89% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/TurnState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java index 5f075eff..9c27854d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/TurnState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/TurnState.java @@ -1,14 +1,14 @@ -package pp.mdga.client.gameState; +package pp.mdga.client.gamestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; import pp.mdga.client.GameState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; -import pp.mdga.client.gameState.turnState.MovePieceState; -import pp.mdga.client.gameState.turnState.PlayPowerCardState; -import pp.mdga.client.gameState.turnState.PowerCardState; -import pp.mdga.client.gameState.turnState.RollDiceState; -import pp.mdga.client.gameState.turnState.TurnStates; +import pp.mdga.client.gamestate.turnstate.ChoosePieceState; +import pp.mdga.client.gamestate.turnstate.MovePieceState; +import pp.mdga.client.gamestate.turnstate.PlayPowerCardState; +import pp.mdga.client.gamestate.turnstate.PowerCardState; +import pp.mdga.client.gamestate.turnstate.RollDiceState; +import pp.mdga.client.gamestate.turnstate.TurnStates; import pp.mdga.game.BonusCard; import pp.mdga.game.Piece; import pp.mdga.message.server.*; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/WaitingState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/WaitingState.java similarity index 77% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/WaitingState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/WaitingState.java index 0a2f72b0..5567f413 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/WaitingState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/WaitingState.java @@ -1,9 +1,10 @@ -package pp.mdga.client.gameState; +package pp.mdga.client.gamestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; import pp.mdga.client.GameState; -import pp.mdga.game.*; +import pp.mdga.game.Piece; +import pp.mdga.game.PieceState; import pp.mdga.message.server.*; import pp.mdga.notification.*; @@ -27,21 +28,21 @@ public void exit() { } @Override - public void received(CeremonyMessage msg){ + public void received(CeremonyMessage msg) { logic.setState(logic.getCeremony()); } @Override - public void received(DiceNowMessage msg){ + public void received(DiceNowMessage msg) { logic.addNotification(new DiceNowNotification()); parent.setState(parent.getTurn()); } @Override - public void received(DieMessage msg){ - logic.getGame().setDiceEyes(msg.getDiceEye()); + public void received(DieMessage msg) { +// logic.getGame().setDiceEyes(msg.getDiceEye()); // logic.addNotification(new RollDiceNotification(logic.getGame().getActiveColor(), logic.getGame().getDiceEyes(), logic.getGame().getDiceEyes() * logic.getGame().getDiceModifier())); - if(msg.getDiceEye() == 6){ + if (msg.getDiceEye() == 6) { logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseDiced6(); logic.getGame().getGameStatistics().increaseDiced6(); } @@ -49,7 +50,7 @@ public void received(DieMessage msg){ } @Override - public void received(PlayCardMessage msg){ + public void received(PlayCardMessage msg) { logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard())); handlePowerCard(msg); logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseCardsPlayed(); @@ -58,21 +59,21 @@ public void received(PlayCardMessage msg){ } @Override - public void received(ActivePlayerMessage msg){ + public void received(ActivePlayerMessage msg) { logic.addNotification(new ActivePlayerNotification(msg.getColor())); logic.getGame().setActiveColor(msg.getColor()); parent.setState(parent.getAnimation()); } @Override - public void received(MoveMessage msg){ + public void received(MoveMessage msg) { Piece pieceToMove = logic.getGame().getPieceThroughUUID(msg.getIdentifier()); - if (msg.isHomeMove()){ + if (msg.isHomeMove()) { logic.addNotification(new HomeMoveNotification(pieceToMove.getUuid(), msg.getTargetIndex())); logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)].clearOccupant(); - logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).setPieceInHome(msg.getTargetIndex(), pieceToMove); - for(int i = msg.getTargetIndex() + 1; i < 4; i++){ - if(!logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).getHomeNodes()[i].isOccupied()){ + logic.getGame().getPlayerByColor(pieceToMove.getColor()).setPieceInHome(msg.getTargetIndex(), pieceToMove); + for (int i = msg.getTargetIndex() + 1; i < 4; i++) { + if (!logic.getGame().getPlayerByColor(pieceToMove.getColor()).getHomeNodes()[i].isOccupied()) { pieceToMove.setState(PieceState.HOME); break; } @@ -84,7 +85,7 @@ public void received(MoveMessage msg){ logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increasePiecesThrown(); logic.getGame().getGameStatistics().increasePiecesThrown(); } - if(logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).getStartNodeIndex() == logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)){ + if (logic.getGame().getPlayerByColor(pieceToMove.getColor()).getStartNodeIndex() == logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)) { logic.addNotification(new MovePieceNotification(pieceToMove.getUuid(), msg.getTargetIndex(), true)); logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].setOccupant(pieceToMove); } else { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/DetermineStartPlayerStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/DetermineStartPlayerStates.java similarity index 72% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/DetermineStartPlayerStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/DetermineStartPlayerStates.java index 6be7ece5..1ec1ac4d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/DetermineStartPlayerStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/DetermineStartPlayerStates.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.determineStartPlayerState; +package pp.mdga.client.gamestate.determinestartplayerstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.GameStates; +import pp.mdga.client.gamestate.GameStates; public abstract class DetermineStartPlayerStates extends GameStates { public DetermineStartPlayerStates(ClientState parent, ClientGameLogic logic) { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/Intro.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/Intro.java new file mode 100644 index 00000000..edbfae59 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/Intro.java @@ -0,0 +1,80 @@ +package pp.mdga.client.gamestate.determinestartplayerstate; + +import pp.mdga.client.ClientGameLogic; +import pp.mdga.client.ClientState; +import pp.mdga.client.gamestate.DetermineStartPlayerState; +import pp.mdga.game.Player; +import pp.mdga.message.client.AnimationEndMessage; +import pp.mdga.notification.MovePieceNotification; + +import java.util.Map; + +public class Intro extends DetermineStartPlayerStates{ + + private final DetermineStartPlayerState parent; + + private int animationCounter = 0; + + /** + * Constructor for Intro + * + * @param parent the parent state + * @param logic the client game logic + */ + public Intro(ClientState parent, ClientGameLogic logic) { + super(parent, logic); + this.parent = (DetermineStartPlayerState) parent; + } + + /** + * This method is used to get the parent state; + * + * @return the parent state + */ + public DetermineStartPlayerState getParent(){ + return parent; + } + + /** + * This method is used to enter this state and play all necessary intro animations. + */ + @Override + public void enter() { + for(Map.Entry entry : logic.getGame().getPlayers().entrySet()){ + //logic.addNotification(new WaitMoveNotification(entry.getValue().getPieces()[0].getUuid())); + logic.addNotification(new MovePieceNotification(entry.getValue().getPieces()[0].getUuid(), entry.getValue().getStartNodeIndex(), true)); + logic.getGame().getBoard().getInfield()[entry.getValue().getStartNodeIndex()].setOccupant(entry.getValue().getPieces()[0]); + animationCounter++; + if(entry.getKey() == logic.getOwnPlayerId()){ + //logic.addNotification(new AcquireCardNotification(entry.getValue().getHandCards().get(0))); + } else { + //logic.addNotification(new DrawCardNotification(entry.getValue().getColor(), entry.getValue().getHandCards().get(0))); + } + } + } + + /** + * This method i s used to exit this state. + */ + @Override + public void exit() { + animationCounter = 0; + } + + /** + * This method is used when the view has completed the animation. + */ + @Override + public void selectAnimationEnd(){ + animationCounter--; + if(animationCounter != 0){ + return; + } + logic.send(new AnimationEndMessage()); + if (logic.getGame().getActivePlayerId() == logic.getOwnPlayerId()){ + parent.getParent().setState(parent.getParent().getTurn()); + } else { + parent.getParent().setState(parent.getParent().getWaiting()); + } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/RollRankingDiceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/RollRankingDiceState.java similarity index 86% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/RollRankingDiceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/RollRankingDiceState.java index 59cba3ec..292c6748 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/RollRankingDiceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/RollRankingDiceState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.determineStartPlayerState; +package pp.mdga.client.gamestate.determinestartplayerstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.DetermineStartPlayerState; +import pp.mdga.client.gamestate.DetermineStartPlayerState; import pp.mdga.message.client.RequestDieMessage; import pp.mdga.message.server.DieMessage; import pp.mdga.notification.DiceNowNotification; @@ -28,13 +28,12 @@ public void exit() { @Override public void selectDice(){ - System.out.println("selectDice"); logic.send(new RequestDieMessage()); } @Override public void received(DieMessage msg){ - logic.addNotification(new RollDiceNotification(logic.getGame().getPlayerById(logic.getOwnPlayerId()).getColor(), msg.getDiceEye(),true)); parent.setState(parent.getWaitRanking()); + logic.addNotification(new RollDiceNotification(logic.getGame().getPlayerById(logic.getOwnPlayerId()).getColor(), msg.getDiceEye(),true)); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/WaitRankingState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java similarity index 50% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/WaitRankingState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java index 6e2a96b3..97f828bd 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/WaitRankingState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/determinestartplayerstate/WaitRankingState.java @@ -1,8 +1,10 @@ -package pp.mdga.client.gameState.determineStartPlayerState; +package pp.mdga.client.gamestate.determinestartplayerstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.DetermineStartPlayerState; +import pp.mdga.client.gamestate.DetermineStartPlayerState; +import pp.mdga.message.client.AnimationEndMessage; +import pp.mdga.message.server.ActivePlayerMessage; import pp.mdga.message.server.RankingResponseMessage; import pp.mdga.message.server.RankingRollAgainMessage; import pp.mdga.notification.ActivePlayerNotification; @@ -10,6 +12,7 @@ public class WaitRankingState extends DetermineStartPlayerStates { private final DetermineStartPlayerState parent; + private boolean canTransition = false; public WaitRankingState(ClientState parent, ClientGameLogic logic) { super(parent, logic); @@ -18,7 +21,6 @@ public WaitRankingState(ClientState parent, ClientGameLogic logic) { @Override public void enter() { - } @Override @@ -33,8 +35,27 @@ public void received(RankingRollAgainMessage msg){ @Override public void received(RankingResponseMessage msg){ - logic.addNotification(new ActivePlayerNotification(logic.getGame().getPlayers().get(msg.getStartingPlayerId()).getColor())); - logic.getGame().setActiveColor(logic.getGame().getPlayers().get(msg.getStartingPlayerId()).getColor()); - parent.getParent().setState(parent.getParent().getWaiting()); + } + + + @Override + public void selectAnimationEnd(){ + logic.send(new AnimationEndMessage()); + changeToIntro(); + } + + @Override + public void received(ActivePlayerMessage msg){ + logic.addNotification(new ActivePlayerNotification(msg.getColor())); + logic.getGame().setActiveColor(msg.getColor()); + changeToIntro(); + } + + private void changeToIntro(){ + if (!canTransition){ + canTransition = true; + return; + } + parent.setState(parent.getIntro()); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/ChoosePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java similarity index 93% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/ChoosePieceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java index 47dce439..71fce397 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/ChoosePieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/ChoosePieceState.java @@ -1,9 +1,9 @@ -package pp.mdga.client.gameState.turnState; +package pp.mdga.client.gamestate.turnstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; -import pp.mdga.client.gameState.turnState.choosePieceState.*; +import pp.mdga.client.gamestate.TurnState; +import pp.mdga.client.gamestate.turnstate.choosepiecestate.*; import pp.mdga.game.Piece; import pp.mdga.message.server.*; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/MovePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/MovePieceState.java similarity index 93% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/MovePieceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/MovePieceState.java index a04d7e56..8a098dbb 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/MovePieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/MovePieceState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState; +package pp.mdga.client.gamestate.turnstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; +import pp.mdga.client.gamestate.TurnState; import pp.mdga.message.client.AnimationEndMessage; import pp.mdga.message.server.*; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PlayPowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/PlayPowerCardState.java similarity index 92% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PlayPowerCardState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/PlayPowerCardState.java index b3f66cbd..3e9b0d47 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PlayPowerCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/PlayPowerCardState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState; +package pp.mdga.client.gamestate.turnstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; +import pp.mdga.client.gamestate.TurnState; import pp.mdga.message.client.AnimationEndMessage; import pp.mdga.message.server.PlayCardMessage; import pp.mdga.notification.PlayCardNotification; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/PowerCardState.java similarity index 86% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PowerCardState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/PowerCardState.java index 5a5fd5c3..85a977d5 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PowerCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/PowerCardState.java @@ -1,12 +1,12 @@ -package pp.mdga.client.gameState.turnState; +package pp.mdga.client.gamestate.turnstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; -import pp.mdga.client.gameState.turnState.powerCardState.ChoosePowerCardState; -import pp.mdga.client.gameState.turnState.powerCardState.PowerCardStates; -import pp.mdga.client.gameState.turnState.powerCardState.ShieldState; -import pp.mdga.client.gameState.turnState.powerCardState.SwapState; +import pp.mdga.client.gamestate.TurnState; +import pp.mdga.client.gamestate.turnstate.powercardstate.ChoosePowerCardState; +import pp.mdga.client.gamestate.turnstate.powercardstate.PowerCardStates; +import pp.mdga.client.gamestate.turnstate.powercardstate.ShieldState; +import pp.mdga.client.gamestate.turnstate.powercardstate.SwapState; import pp.mdga.game.BonusCard; import pp.mdga.game.Piece; import pp.mdga.message.server.DiceNowMessage; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/RollDiceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/RollDiceState.java similarity index 80% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/RollDiceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/RollDiceState.java index dbdecae3..1c7fff2f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/RollDiceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/RollDiceState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState; +package pp.mdga.client.gamestate.turnstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; +import pp.mdga.client.gamestate.TurnState; import pp.mdga.message.server.DieMessage; import pp.mdga.message.server.NoTurnMessage; @@ -22,7 +22,7 @@ public void enter() { @Override public void exit() { - logic.getGame().setDiceModifier(1); + //logic.getGame().setDiceModifier(1); } public TurnState getParent() { @@ -30,7 +30,7 @@ public TurnState getParent() { } public void received(DieMessage msg){ - logic.getGame().setDiceEyes(msg.getDiceEye()); +// logic.getGame().setDiceEyes(msg.getDiceEye()); parent.setState(parent.getChoosePiece()); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/TurnStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/TurnStates.java similarity index 72% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/TurnStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/TurnStates.java index 6ca2cd4d..e7909fb8 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/TurnStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/TurnStates.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState; +package pp.mdga.client.gamestate.turnstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.GameStates; +import pp.mdga.client.gamestate.GameStates; public abstract class TurnStates extends GameStates { public TurnStates(ClientState parent, ClientGameLogic logic) { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/ChoosePieceStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/ChoosePieceStates.java similarity index 68% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/ChoosePieceStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/ChoosePieceStates.java index 231b2d37..0311ea35 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/ChoosePieceStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/ChoosePieceStates.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; +package pp.mdga.client.gamestate.turnstate.choosepiecestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.TurnStates; +import pp.mdga.client.gamestate.turnstate.TurnStates; public abstract class ChoosePieceStates extends TurnStates { public ChoosePieceStates(ClientState parent, ClientGameLogic logic) { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/NoPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java similarity index 92% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/NoPieceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java index 60b41e44..bed4a04a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/NoPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/NoPieceState.java @@ -1,12 +1,11 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; +package pp.mdga.client.gamestate.turnstate.choosepiecestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; +import pp.mdga.client.gamestate.turnstate.ChoosePieceState; import pp.mdga.game.Piece; import pp.mdga.message.server.*; import pp.mdga.message.server.StartPieceMessage; -import pp.mdga.notification.MovePieceNotification; import pp.mdga.notification.SelectableMoveNotification; import pp.mdga.notification.WaitMoveNotification; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/SelectPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/SelectPieceState.java similarity index 83% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/SelectPieceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/SelectPieceState.java index 8c02d9de..884c546d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/SelectPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/SelectPieceState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; +package pp.mdga.client.gamestate.turnstate.choosepiecestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; +import pp.mdga.client.gamestate.turnstate.ChoosePieceState; import pp.mdga.game.Piece; import pp.mdga.message.client.SelectedPiecesMessage; import pp.mdga.message.server.MoveMessage; @@ -31,24 +31,24 @@ public void exit() { } - public void setPossiblePieces(ArrayList possiblePieces){ + public void setPossiblePieces(ArrayList possiblePieces) { this.possiblePieces = possiblePieces; } @Override - public void selectPiece(Piece piece){ - if(possiblePieces.contains(piece)){ + public void selectPiece(Piece piece) { + if (possiblePieces.contains(piece)) { logic.send(new SelectedPiecesMessage(piece.getUuid())); } } @Override - public void received(MoveMessage msg){ + public void received(MoveMessage msg) { Piece piece = logic.getGame().getPieceThroughUUID(msg.getIdentifier()); - if(msg.isHomeMove()){ + if (msg.isHomeMove()) { logic.addNotification(new HomeMoveNotification(piece.getUuid(), msg.getTargetIndex())); logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(piece)].clearOccupant(); - logic.getGame().getBoard().getPlayerData().get(piece.getColor()).setPieceInHome(msg.getTargetIndex(), piece); + logic.getGame().getPlayerByColor(piece.getColor()).setPieceInHome(msg.getTargetIndex(), piece); } else { if (logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].isOccupied()) { throwPiece(logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].getOccupant()); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/StartPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/StartPieceState.java similarity index 88% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/StartPieceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/StartPieceState.java index 5e5ac4a0..2f8b1d14 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/StartPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/StartPieceState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; +package pp.mdga.client.gamestate.turnstate.choosepiecestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; +import pp.mdga.client.gamestate.turnstate.ChoosePieceState; import pp.mdga.game.Piece; import pp.mdga.message.client.SelectedPiecesMessage; import pp.mdga.message.server.MoveMessage; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/WaitingPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/WaitingPieceState.java similarity index 90% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/WaitingPieceState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/WaitingPieceState.java index a22197f1..6bcbc8a5 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/WaitingPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/choosepiecestate/WaitingPieceState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; +package pp.mdga.client.gamestate.turnstate.choosepiecestate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; +import pp.mdga.client.gamestate.turnstate.ChoosePieceState; import pp.mdga.game.Piece; import pp.mdga.game.PieceState; import pp.mdga.message.client.SelectedPiecesMessage; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ChoosePowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/ChoosePowerCardState.java similarity index 93% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ChoosePowerCardState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/ChoosePowerCardState.java index 54754e44..27174204 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ChoosePowerCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/ChoosePowerCardState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.powerCardState; +package pp.mdga.client.gamestate.turnstate.powercardstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.PowerCardState; +import pp.mdga.client.gamestate.turnstate.PowerCardState; import pp.mdga.game.BonusCard; import pp.mdga.message.client.NoPowerCardMessage; import pp.mdga.message.client.SelectCardMessage; @@ -39,7 +39,7 @@ public ChoosePowerCardState(ClientState parent, ClientGameLogic logic) { @Override public void enter() { possibleCards = new ArrayList<>(); - //TODO: logic.send(new RequestPossibleCardsMessage()); + System.out.println("ChoosePowerCardState"); } /** @@ -80,7 +80,7 @@ public void selectCard(BonusCard card){ @Override public void received(PlayCardMessage msg){ if(msg.getCard().equals(BonusCard.TURBO)){ - logic.getGame().setDiceModifier(msg.getDiceModifier()); + //logic.getGame().setDiceModifier(msg.getDiceModifier()); } else { LOGGER.log(System.Logger.Level.ERROR, "Received card that is not turbo"); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/PowerCardStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/PowerCardStates.java similarity index 68% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/PowerCardStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/PowerCardStates.java index 753e5aa8..53482531 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/PowerCardStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/PowerCardStates.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.powerCardState; +package pp.mdga.client.gamestate.turnstate.powercardstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.TurnStates; +import pp.mdga.client.gamestate.turnstate.TurnStates; public abstract class PowerCardStates extends TurnStates { public PowerCardStates(ClientState parent, ClientGameLogic logic) { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ShieldState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/ShieldState.java similarity index 92% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ShieldState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/ShieldState.java index 26143674..87d64a44 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ShieldState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/ShieldState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.powerCardState; +package pp.mdga.client.gamestate.turnstate.powercardstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.PowerCardState; +import pp.mdga.client.gamestate.turnstate.PowerCardState; import pp.mdga.game.Piece; import pp.mdga.message.client.RequestPlayCardMessage; import pp.mdga.message.server.PlayCardMessage; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/SwapState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/SwapState.java similarity index 95% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/SwapState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/SwapState.java index c907f66a..c499cb84 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/SwapState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/gamestate/turnstate/powercardstate/SwapState.java @@ -1,8 +1,8 @@ -package pp.mdga.client.gameState.turnState.powerCardState; +package pp.mdga.client.gamestate.turnstate.powercardstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.PowerCardState; +import pp.mdga.client.gamestate.turnstate.PowerCardState; import pp.mdga.game.Piece; import pp.mdga.message.client.RequestPlayCardMessage; import pp.mdga.message.server.PlayCardMessage; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/AudioSettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/AudioSettingsState.java similarity index 89% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/AudioSettingsState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/AudioSettingsState.java index 63fa3fff..ed3065ca 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/AudioSettingsState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/AudioSettingsState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.settingsState; +package pp.mdga.client.settingsstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/MainSettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/MainSettingsState.java similarity index 89% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/MainSettingsState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/MainSettingsState.java index 5b1bde44..604757f6 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/MainSettingsState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/MainSettingsState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.settingsState; +package pp.mdga.client.settingsstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/SettingStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/SettingStates.java similarity index 86% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/SettingStates.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/SettingStates.java index 2b9fb2ff..e82d37f5 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/SettingStates.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/SettingStates.java @@ -1,4 +1,4 @@ -package pp.mdga.client.settingsState; +package pp.mdga.client.settingsstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/VideoSettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/VideoSettingsState.java similarity index 89% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/VideoSettingsState.java rename to Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/VideoSettingsState.java index 78b72f48..fe8c2946 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/VideoSettingsState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsstate/VideoSettingsState.java @@ -1,4 +1,4 @@ -package pp.mdga.client.settingsState; +package pp.mdga.client.settingsstate; import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Board.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Board.java index b46ef62f..e18341ce 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Board.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Board.java @@ -2,31 +2,38 @@ import com.jme3.network.serializing.Serializable; -import java.util.HashMap; -import java.util.Map; - /** * This class will be used to hold all Board relevant data. */ @Serializable public class Board { - private Map playerData = new HashMap<>(); + /** + * The size of the board. + */ + public static final int BOARD_SIZE = 40; + + /** + * Create Board attributes. + */ private final Node[] infield; /** * This constructor is used to create a new board */ public Board() { - infield = new Node[40]; - for (int i = 0; i < 40; i++) { - if (i % 10 == 0) { - infield[i] = new StartNode( - i == 0 ? Color.AIRFORCE : - i == 10 ? Color.CYBER : - i == 20 ? Color.NAVY : - Color.ARMY - ); - } else if (i == 4 || i == 14 || i == 24 || i == 34) { + infield = new Node[BOARD_SIZE]; + initializeBoard(); + } + + /** + * Initializes the board by setting up the nodes. + * Start nodes, bonus nodes, and regular nodes are created based on their positions. + */ + private void initializeBoard() { + for (int i = 0; i < BOARD_SIZE; i++) { + if (isStartNode(i)) { + infield[i] = createStartNode(i); + } else if (isBonusNode(i)) { infield[i] = new BonusNode(); } else { infield[i] = new Node(null); @@ -35,23 +42,48 @@ public Board() { } /** - * This method will be used to add the given color and playerData parameters to the playerData attribute of - * Board class. + * Checks if the given index is a start node. * - * @param color as the color of the player as a Color enumeration. - * @param playerData as the playerData of the player as a PlayerData object. + * @param i the index to check + * @return true if the index is a start node, false otherwise */ - public void addPlayerData(Color color, PlayerData playerData) { - this.playerData.put(color, playerData); + private boolean isStartNode(int i) { + return i % 10 == 0; } /** - * This method returns the playerData + * Checks if the given index is a bonus node. * - * @return the playerData + * @param i the index to check + * @return true if the index is a bonus node, false otherwise */ - public Map getPlayerData() { - return playerData; + private boolean isBonusNode(int i) { + return i % 10 == 4; + } + + /** + * Creates a start node with the appropriate color based on the index. + * + * @param i the index of the start node + * @return a new StartNode with the corresponding color + */ + private StartNode createStartNode(int i) { + return new StartNode(Color.getColor(i)); + } + + /** + * This method returns the index of a specific piece on the board + * + * @param piece the piece to be searched for + * @return the index of the piece + */ + public int getInfieldIndexOfPiece(Piece piece) { + for (int i = 0; i < infield.length; i++) { + if (infield[i].getOccupant() == piece) { + return i; + } + } + return -1; } /** @@ -73,18 +105,8 @@ public void setPieceOnBoard(int index, Piece piece) { infield[index].setOccupant(piece); } - /** - * This method returns the index of a specific piece on the board - * - * @param piece the piece to be searched for - * @return the index of the piece - */ - public int getInfieldIndexOfPiece(Piece piece) { - for (int i = 0; i < infield.length; i++) { - if (infield[i].getOccupant() == piece) { - return i; - } - } - return -1; + @Override + public String toString() { + return "Default Board"; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/BonusNode.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/BonusNode.java index 8ece5b1e..cfb1f89d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/BonusNode.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/BonusNode.java @@ -7,7 +7,10 @@ */ @Serializable public class BonusNode extends Node { - BonusNode(){ + /** + * Constructor. + */ + BonusNode() { super(null); } } 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 76d4e17b..0fd652c8 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 @@ -3,8 +3,8 @@ import com.jme3.network.serializing.Serializable; /** - * This enumeration will be used to show the four different TSK which can be picked from a player. - * In Addition, the NONE color will be used to show a none color. + * This enumeration represents the four different TSK colors that a player can choose. + * Additionally, the NONE color indicates the absence of a color. */ @Serializable public enum Color { @@ -58,4 +58,19 @@ public Color next() { return colors[nextIndex]; } + + /** + * This method will be used to return the color of the given index. + * + * @param i as the index of the color as an Integer. + * @return a Color enumeration. + */ + public static Color getColor(int i) { + for (Color color : Color.values()) { + if (color.ordinal() == i) { + return color; + } + } + return null; + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Die.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Die.java index fc013d75..c3b99cf5 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Die.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Die.java @@ -1,7 +1,5 @@ package pp.mdga.game; -import java.util.ArrayList; -import java.util.Arrays; import java.util.Iterator; import java.util.random.RandomGenerator; import java.util.random.RandomGeneratorFactory; 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 9f0cee8f..498a9a8d 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 @@ -3,7 +3,7 @@ import java.util.*; /** - * The Game class represents the game state of the Ludo game. + * The Game class represents the game state of the game. * It contains all the information needed to play the game. * The game state is updated by the game logic. */ @@ -14,38 +14,53 @@ public class Game { public static final int AMOUNT_OF_TURBO_CARDS = 16; /** - * The number of shield and swap cards available in the game. + * The number of shield cards available in the game. */ - public static final int AMOUNT_OF_SHIELD_AND_SWAP_CARDS = 12; + public static final int AMOUNT_OF_SHIELD_CARDS = 12; - // The modifier applied to the dice roll. - private int diceModifier = 1; + /** + * The number of swap cards available in the game. + */ + public static final int AMOUNT_OF_SWAP_CARDS = 12; - // The number of eyes shown on the dice. - private int diceEyes; - - // A map of player IDs to Player objects. + /** + * A map of player IDs to Player objects. + */ private Map players = new HashMap<>(); - // The statistics of the game. + /** + * The statistics of the game. + */ private Statistic gameStatistics; - // The pile of bonus cards available for drawing. - private List drawPile; + /** + * The pile of bonus cards available for drawing. + */ + private List drawPile = new ArrayList<>(); - // The pile of bonus cards that have been discarded. + /** + * The pile of bonus cards that have been discarded. + */ private List discardPile = new ArrayList<>(); - // The game board. + /** + * The game board. + */ private Board board; - // The die used in the game. + /** + * The die used in the game. + */ private Die die; - // The host of this game + /** + * The host of this game + */ private int host = -1; - // The color of the active player. + /** + * The color of the active player. + */ private Color activeColor; /** @@ -53,18 +68,30 @@ public class Game { */ public Game() { gameStatistics = new Statistic(); - drawPile = new ArrayList<>(); - for (int i = 0; i < AMOUNT_OF_TURBO_CARDS; i++) { - drawPile.add(BonusCard.TURBO); - } - for (int i = 0; i < AMOUNT_OF_SHIELD_AND_SWAP_CARDS; i++) { - drawPile.add(BonusCard.SWAP); - drawPile.add(BonusCard.SHIELD); - } + initializeDrawPile(); board = new Board(); die = new Die(); } + /** + * This method initializes the draw pile with the predefined number of bonus cards. + */ + private void initializeDrawPile() { + addBonusCards(BonusCard.TURBO, AMOUNT_OF_TURBO_CARDS); + addBonusCards(BonusCard.SWAP, AMOUNT_OF_SWAP_CARDS); + addBonusCards(BonusCard.SHIELD, AMOUNT_OF_SHIELD_CARDS); + } + + /** + * This method adds a number of bonus cards to the draw pile. + * + * @param card the card to add + * @param count the number of cards to add + */ + private void addBonusCards(BonusCard card, int count) { + drawPile.addAll(Collections.nCopies(count, card)); + } + /** * This method adds a player to the game. * @@ -99,7 +126,7 @@ public void updatePlayerActiveState(int id, boolean active) { * If yes it will return true, otherwise false. * * @param color as the color which should be checked if taken as a Color enumeration. - * @return true or false. + * @return true or false. */ public boolean isColorTaken(Color color) { for (Map.Entry entry : this.players.entrySet()) { @@ -152,6 +179,15 @@ public Player getPlayerByColor(Color color) { return null; } + /** + * This method will be used to return all connected players as a list. + * + * @return players as a List of Player objects. + */ + public List getPlayersAsList() { + return new ArrayList<>(this.players.values()); + } + /** * This method will be used to return the id of the active player depending on the activeColor attribute of Game * class. @@ -166,7 +202,7 @@ public int getActivePlayerId() { * This method will be used to return the id of the Player defined by the given color parameter. * * @param color as the color of the player as a Color enumeration. - * @return the id of the player as an Integer. + * @return the id of the player as an Integer. */ public int getPlayerIdByColor(Color color) { for (Map.Entry entry : this.players.entrySet()) { @@ -216,8 +252,8 @@ public boolean areAllReady() { * @return the piece specified by the UUID */ public Piece getPieceThroughUUID(UUID pieceId) { - for (var playerData : board.getPlayerData().values()) { - for (var piece : playerData.getPieces()) { + for (var player : this.getPlayers().values()) { + for (var piece : player.getPieces()) { if (piece.getUuid().equals(pieceId)) { return piece; } @@ -235,24 +271,6 @@ public boolean isHost() { return this.host != -1; } - /** - * This method returns the dice modifier. - * - * @return the dice modifier - */ - public int getDiceModifier() { - return diceModifier; - } - - /** - * This method returns the dice eyes. - * - * @return the dice eyes - */ - public int getDiceEyes() { - return diceEyes; - } - /** * This method returns the players. * @@ -325,24 +343,6 @@ public int getHost() { return this.host; } - /** - * This method sets the dice modifier. - * - * @param diceModifier the new dice modifier - */ - public void setDiceModifier(int diceModifier) { - this.diceModifier = diceModifier; - } - - /** - * This method sets the dice eyes. - * - * @param diceEyes the new dice eyes - */ - public void setDiceEyes(int diceEyes) { - this.diceEyes = diceEyes; - } - /** * This method sets the players. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/HomeNode.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/HomeNode.java index cb373011..f9d9b88f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/HomeNode.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/HomeNode.java @@ -7,6 +7,9 @@ */ @Serializable public class HomeNode extends Node { + /** + * Constructor. + */ public HomeNode() { super(null); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Node.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Node.java index 921ea970..62180b61 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Node.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Node.java @@ -3,22 +3,33 @@ import com.jme3.network.serializing.Serializable; /** - * This class will be used the represent a Node on which the pieces can travel along + * Represents a node on the board. */ @Serializable public class Node { + /** + * The occupant of the node. + */ protected Piece occupant; - public Node(Piece piece){ + /** + * This constructor is used to create a new node object with a given occupant. + * + * @param piece as the occupant of the node. + */ + public Node(Piece piece) { occupant = piece; } - private Node(){ + /** + * This constructor is used to create a new node object with a default occupant. + */ + private Node() { occupant = new Piece(Color.AIRFORCE, PieceState.WAITING); } /** - * This method is used to get an occupant of the Node. + * This method is used to get an occupant of the node. * * @return the current occupant of the node */ @@ -27,7 +38,7 @@ public Piece getOccupant() { } /** - * This method is used to set a new Occupant + * This method is used to set a new occupant * * @param occupant the new occupant of the node */ @@ -58,9 +69,9 @@ public boolean isOccupied() { * This method will be used to check if the node is occupied by a piece of the given color. * * @param color as the color of the piece as a Color object. - * @return true or false. + * @return true or false. */ public boolean isOccupied(Color color) { - return this.occupant != null && this.occupant.getColor() == color; + return isOccupied() && this.occupant.getColor() == color; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java index 8ddb376c..d32f7e83 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java @@ -51,72 +51,72 @@ private Piece() { } /** - * This method is used to get the color of the piece + * Sets the shield state of the piece. * - * @return the color of the piece + * @param shield the new shield state */ public void setShield(ShieldState shield) { this.shield = shield; } /** - * This method is used to get the color of the piece + * Gets the shield state of the piece. * - * @return the color of the piece + * @return the shield state */ public ShieldState getShield() { return shield; } /** - * This method is used to get the color of the piece + * Sets the state of the piece. * - * @param state the state of the piece + * @param state the new state */ public void setState(PieceState state) { this.state = state; } /** - * This method is used to get the color of the piece + * Gets the state of the piece. * - * @return the color of the piece + * @return the state */ public PieceState getState() { return state; } /** - * This method is used to get the color of the piece + * Checks if the piece is shielded. * - * @return the color of the piece + * @return true if the piece is shielded, false otherwise */ public boolean isShielded() { return shield == ShieldState.ACTIVE; } /** - * This method is used to get the color of the piece + * Checks if the shield of a piece is suppressed. * - * @return the color of the piece + * @return true if the shield is suppressed, false otherwise */ public boolean isSuppressed() { return shield == ShieldState.SUPPRESSED; } /** - * This method is used to get the color of the piece + * Gets the color of the piece. * - * @return the color of the piece + * @return the color */ public Color getColor() { return color; } /** - * This method is used to get the color of the piece + * Gets the unique identifier of the piece. * - * @return the color of the piece + * @return the UUID */ public UUID getUuid() { return uuid; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/PieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/PieceState.java index 3c66f677..745e73d6 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/PieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/PieceState.java @@ -22,5 +22,5 @@ public enum PieceState { /** * The piece is finished. */ - HOMEFINISHED; + HOMEFINISHED } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java index baa88d6f..1ca33b4d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java @@ -6,7 +6,7 @@ import java.util.ArrayList; /** - * This class will be used to handle general PlayerData + * This class represents a player in the game. */ @Serializable public class Player { @@ -44,10 +44,29 @@ public class Player { * Node and piece attributes */ private int startNodeIndex = -1; + + /** + * The home nodes of the player. + */ private HomeNode[] homeNodes = new HomeNode[Resources.MAX_PIECES]; + + /** + * The waiting area of the player. + */ private Piece[] waitingArea = new Piece[Resources.MAX_PIECES]; + + /** + * The pieces of the player. + */ private Piece[] pieces = new Piece[Resources.MAX_PIECES]; + /** + * Constructor. + */ + public Player() { + this(""); + } + /** * This constructor constructs a new Player object * @@ -57,13 +76,6 @@ public Player(String name) { this.name = name; } - /** - * Constructor. - */ - public Player() { - this(""); - } - /** * This method will be used to initialize all nodes and pieces of the Player class. */ @@ -73,6 +85,7 @@ public void initialize() { this.pieces[index] = new Piece(this.color, PieceState.WAITING); this.waitingArea[index] = this.pieces[index]; } + startNodeIndex = color.ordinal() * 10; } /** @@ -81,21 +94,16 @@ public void initialize() { * @param card the card to be added to the players hand */ public void addHandCard(BonusCard card) { - handCards.add(card); + this.handCards.add(card); } /** - * This method returns a BonusCard to be removed from the players hand. + * This method will be used to remove the given card parameter from the handCards attribute of Player card. * - * @param card the cards type to be removed - * @return the removed card or null if there is none of that card type + * @param card as the card which should be removed from the handCards attribute as a PowerCard object. */ - public BonusCard removeHandCard(BonusCard card) { - BonusCard cardToRemove = handCards.stream().filter(c -> c.equals(card)).findFirst().orElse(null); - if (cardToRemove != null) { - handCards.remove(cardToRemove); - } - return cardToRemove; + public void removeHandCard(BonusCard card) { + this.handCards.remove(card); } /** @@ -120,7 +128,12 @@ public void addWaitingPiece(Piece piece) { * @return true or false. */ public boolean isFinished() { - return false; + for (int i = 0; i < Resources.MAX_PIECES; i++) { + if (this.pieces[i].getState() != PieceState.HOMEFINISHED) { + return false; + } + } + return true; } /** @@ -248,4 +261,24 @@ public void setReady(boolean ready) { public void setActive(boolean active) { this.active = active; } + + /** + * This method sets a piece at the given index in the home area + * + * @param index the index of the node + * @param piece the piece to be set at the given index + */ + public void setPieceInHome(int index, Piece piece) { + this.homeNodes[index].setOccupant(piece); + } + + /** + * The string representation of the player + * + * @return the string representation of the player + */ + @Override + public String toString() { + return "Player: " + name + " Color: " + color; + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/PlayerData.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/PlayerData.java deleted file mode 100644 index 809b9d66..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/PlayerData.java +++ /dev/null @@ -1,197 +0,0 @@ -package pp.mdga.game; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.Resources; - -/** - * This class is used to represent PlayerData related to the board - */ -@Serializable -public class PlayerData { - /** - * An array of HomeNode objects representing the home nodes of the player. - */ - private HomeNode[] homeNodes; - - /** - * The index of the start node for the player. - */ - private int startNodeIndex; - - /** - * An array of Piece objects representing the waiting area of the player. - */ - private Piece[] waitingArea; - - /** - * An array of Piece objects representing all the pieces of the player. - */ - private Piece[] pieces; - - /** - * This constructor is used to create a new PlayerData object - * - * @param color the color of the player - */ - public PlayerData(Color color) { - homeNodes = new HomeNode[Resources.MAX_PIECES]; - pieces = new Piece[Resources.MAX_PIECES]; - waitingArea = new Piece[Resources.MAX_PIECES]; - for (int i = 0; i < Resources.MAX_PIECES; i++) { - homeNodes[i] = new HomeNode(); - pieces[i] = new Piece(color, PieceState.WAITING); - waitingArea[i] = pieces[i]; - } - } - - /** - * Constructor. - */ - private PlayerData() { - homeNodes = new HomeNode[Resources.MAX_PIECES]; - waitingArea = new Piece[Resources.MAX_PIECES]; - pieces = new Piece[Resources.MAX_PIECES]; - } - - /** - * This method will be used to check if the player is finished. - * ToDo: Currently return always false. Implement logic! - * - * @return true or false. - */ - public boolean isFinished() { - return false; - } - - /** - * This method returns an Array of HomeNodes - * - * @return the array of HomeNodes - */ - public Node[] getHomeNodes() { - return homeNodes; - } - - /** - * This method returns the index of the StartNode - * - * @return the index of the StartNode - */ - public int getStartNodeIndex() { - return startNodeIndex; - } - - /** - * This method sets the index of the startNode. - * - * @param startNodeIndex the integer index of the startNode - */ - public void setStartNodeIndex(int startNodeIndex) { - this.startNodeIndex = startNodeIndex; - } - - /** - * This method returns an array pieces representing the waiting area. - * - * @return the waiting area - */ - public Piece[] getWaitingArea() { - return waitingArea; - } - - /** - * This method returns an array of pieces with all the players pieces - * - * @return the array of pieces - */ - public Piece[] getPieces() { - return pieces; - } - - /** - * This method adds a piece to the waiting area - * - * @param piece the piece to be added to the waiting area - */ - public void addWaitingPiece(Piece piece) { - for (int i = 0; i < Resources.MAX_PIECES; i++) { - if (waitingArea[i] == null) { - waitingArea[i] = piece; - return; - } - } - } - - /** - * This method removes a piece from the waiting area - * - * @return the piece that was removed from the waiting area - */ - public Piece removePieceFromWaitingArea() { - for (int i = 0; i < Resources.MAX_PIECES; i++) { - if (waitingArea[i] != null) { - Piece piece = waitingArea[i]; - waitingArea[i] = null; - return piece; - } - } - return null; - } - - /** - * This method sets a piece at the given index in the home area - * - * @param index the index of the node - * @param piece the piece to be set at the given index - */ - public void setPieceInHome(int index, Piece piece) { - homeNodes[index].setOccupant(piece); - } - - /** - * This method will be used to return if the given piece parameter is inside the homNodes attribute of PlayerData - * class. - * If yes it will return true, otherwise false. - * - * @return true or false. - */ - public boolean homeIncludes(Piece piece) { - for (Node node : this.homeNodes) { - if (node.getOccupant() == piece) { - return true; - } - } - - return false; - } - - /** - * This method will be used to return the index of the given piece parameter in the homeNodes attribute of - * PlayerData class. - * - * @return index as an Integer. - */ - public int getIndexInHome(Piece piece) { - for (int i = 0; i < Resources.MAX_PIECES; i++) { - if (homeNodes[i].getOccupant() == piece) { - return i; - } - } - return -1; - } - - /** - * This method will be usd to check if the waitingArea attribute of PlayerData class is empty. - * If yes it will return false, otherwise true. - * - * @return true or false. - */ - public boolean hasPieceInWaitingArea() { - for (Piece piece : waitingArea) { - if (piece != null) { - return true; - } - } - return false; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/ShieldState.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/ShieldState.java index 78eee486..6bff3f52 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/ShieldState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/ShieldState.java @@ -15,5 +15,5 @@ public enum ShieldState { /** * The shield is suppressed, when the piece is on a start node. */ - SUPPRESSED; + SUPPRESSED } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/StartNode.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/StartNode.java index c8c79264..0033738f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/StartNode.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/StartNode.java @@ -22,6 +22,9 @@ public StartNode(Color color) { this.color = color; } + /** + * Default constructor for serialization. + */ private StartNode() { super(null); color = Color.NONE; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Statistic.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Statistic.java index 5acd5d14..8751698a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Statistic.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/game/Statistic.java @@ -68,7 +68,7 @@ public void setCardsPlayed(int cardsPlayed) { } /** - * This method returns the count of enemyPieces Thrown during the game. + * This method returns the count of enemyPieces thrown during the game. * * @return the count of enemyPieces thrown */ @@ -77,7 +77,7 @@ public int getPiecesThrown() { } /** - * This method sets the new count of enemyPieces Thrown + * This method sets the new count of enemyPieces thrown * * @param piecesThrown the new count of pieces thrown. */ @@ -165,28 +165,28 @@ public void increaseCardsPlayed() { } /** - * This method increases the value of cardsPlayed by 1. + * This method increases the value of piecesThrown by 1. */ public void increasePiecesThrown() { piecesThrown++; } /** - * This method increases the value of cardsPlayed by 1. + * This method increases the value of piecesBeingThrown by 1. */ public void increasePiecesBeingThrown() { piecesBeingThrown++; } /** - * This method increases the value of cardsPlayed by 1. + * This method increases the value of diced6 by 1. */ public void increaseDiced6() { diced6++; } /** - * This method increases the value of cardsPlayed by 1. + * This method increases the value of traveledNodes by 1. */ public void increaseTraveledNodes() { traveledNodes++; @@ -202,7 +202,7 @@ public void increaseTraveledNodes(int nodes) { } /** - * This method increases the value of cardsPlayed by 1. + * This method increases the value of activatedBonusNodes by 1. */ public void increaseActivatedBonusNodes() { activatedBonusNodes++; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java index ce605771..d2bf0e2d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java @@ -14,16 +14,6 @@ public AnimationEndMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "AnimationEnd{}"; - } - /** * Accepts a visitor for processing this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java index 747c6262..9f8ef6d4 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java @@ -21,17 +21,17 @@ public interface ClientInterpreter { void received(DeselectTSKMessage msg, int from); /** - * Processes a received ForceStartGame message. + * Processes a received StartGame message. * - * @param msg the ForceStartGame message to be processed + * @param msg the StartGame message to be processed * @param from the connection ID from which the message was received */ void received(StartGameMessage msg, int from); /** - * Processes a received JoinServer message. + * Processes a received JoinedLobby message. * - * @param msg the JoinServer message to be processed + * @param msg the JoinedLobby message to be processed * @param from the connection ID from which the message was received */ void received(JoinedLobbyMessage msg, int from); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java index 35a22cf2..3773ef6c 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java @@ -21,4 +21,8 @@ protected ClientMessage() { * @param from the connection ID of the sender */ public abstract void accept(ClientInterpreter interpreter, int from); + + public String toString() { + return getClass().getSimpleName() + "{}"; + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java index 3839a139..39a260e3 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java @@ -8,22 +8,12 @@ @Serializable public class ClientStartGameMessage extends ClientMessage { /** - * Constructs a new ClientStartGame instance. + * Constructor. */ public ClientStartGameMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ClientStartGame{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java index ee85fae3..bd5ba2d0 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java @@ -3,24 +3,17 @@ import com.jme3.network.serializing.Serializable; /** - * + * A message sent by a client to indicate that it has disconnected. */ @Serializable public class DisconnectedMessage extends ClientMessage { + /** + * Constructs a new Disconnected message. + */ public DisconnectedMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ClientStartGame{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java index e654ea77..393afba8 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java @@ -14,16 +14,6 @@ public ForceContinueGameMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ForceContinueGame{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinedLobbyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinedLobbyMessage.java index ab1a0524..c87704db 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinedLobbyMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinedLobbyMessage.java @@ -7,7 +7,9 @@ */ @Serializable public class JoinedLobbyMessage extends ClientMessage { - + /** + * The name of the player that is joining the server. + */ private final String name; /** @@ -42,7 +44,7 @@ public String getName(){ */ @Override public String toString() { - return "JoinServer{}"; + return "JoinServer {" + "name=" + name + '}'; } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java index 48b2d324..3fb0b222 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java @@ -14,16 +14,6 @@ public LeaveGameMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LeaveGame{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java index d0b966c8..4f8eedc7 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java @@ -14,16 +14,6 @@ public LobbyNotReadyMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LobbyNotReady{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java index 47da4de6..73dbf408 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java @@ -14,16 +14,6 @@ public LobbyReadyMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LobbyReady{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java index c37f5787..09d28423 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java @@ -14,16 +14,6 @@ public NoPowerCardMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "NoPowerCard{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java index b47694ba..c0ccd55d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java @@ -14,16 +14,6 @@ public RequestBriefingMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "RequestBriefing{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java index 52e09924..5367499c 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java @@ -14,16 +14,6 @@ public RequestDieMessage() { super(); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "RequestDie{}"; - } - /** * Accepts a visitor to process this message. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java index 3b314cc9..f9cc057b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java @@ -20,12 +20,15 @@ public class RequestPlayCardMessage extends ClientMessage { */ private final UUID ownPieceIdentifier; + /** + * The identifier of the enemy piece. + */ private final UUID enemyPieceIdentifier; /** * Constructs a new RequestPlayCard instance. * - * @param card the bonus card to be played + * @param card the bonus card to be played * @param ownPieceIdentifier the identifier of the piece */ public RequestPlayCardMessage(BonusCard card, UUID ownPieceIdentifier, UUID enemyPieceIdentifier) { @@ -46,11 +49,11 @@ private RequestPlayCardMessage() { /** * Creates a new RequestPlayCard instance for a given bonus card. * - * @param ownPieceIdentifier the identifier of the piece + * @param ownPieceIdentifier the identifier of the piece * @param enemyPieceIdentifier the identifier of the enemy piece * @return a new RequestPlayCard instance */ - public static RequestPlayCardMessage requestPlaySwap(UUID ownPieceIdentifier, UUID enemyPieceIdentifier){ + public static RequestPlayCardMessage requestPlaySwap(UUID ownPieceIdentifier, UUID enemyPieceIdentifier) { return new RequestPlayCardMessage(BonusCard.SWAP, ownPieceIdentifier, enemyPieceIdentifier); } @@ -60,7 +63,7 @@ public static RequestPlayCardMessage requestPlaySwap(UUID ownPieceIdentifier, UU * @param ownPieceIdentifier the identifier of the piece * @return a new RequestPlayCard instance */ - public static RequestPlayCardMessage requestPlayShield(UUID ownPieceIdentifier){ + public static RequestPlayCardMessage requestPlayShield(UUID ownPieceIdentifier) { return new RequestPlayCardMessage(BonusCard.SHIELD, ownPieceIdentifier, null); } @@ -98,7 +101,8 @@ public UUID getEnemyPieceIdentifier() { */ @Override public String toString() { - return "RequestPlayCard={card=" + card.toString() + '}'; + assert card != null; + return "RequestPlayCard={card=" + card + '}'; } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java index 846d8c4f..176f1dc5 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java @@ -29,6 +29,11 @@ private SelectTSKMessage() { color = null; } + /** + * Gets the color associated with the TSK to be selected. + * + * @return the color associated with the TSK to be selected + */ public Color getColor() { return color; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java index 4436225d..0327137b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java @@ -7,39 +7,11 @@ */ @Serializable public class StartGameMessage extends ClientMessage { - - private final boolean forceStartGame; - - public StartGameMessage(boolean forceStartGame){ + /** + * Constructor. + */ + public StartGameMessage() { super(); - this.forceStartGame = forceStartGame; - } - - /** - * Constructs a new ForceStartGame message. - */ - private StartGameMessage() { - super(); - forceStartGame = false; - } - - /** - * Gets whether the game should be force started. - * - * @return whether the game should be force started - */ - public boolean isForceStartGame() { - return forceStartGame; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ForceStartGame{}"; } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java index 3c7e8961..01440aeb 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java @@ -58,14 +58,4 @@ public void accept(ServerInterpreter interpreter) { public String toString() { return "ActivePlayer{color=" + color + '}'; } - - /** - * Returns the key for the informational text associated with this message. - * - * @return the key for the informational text - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java index a1780318..68fe30f2 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java @@ -61,14 +61,4 @@ public void accept(ServerInterpreter interpreter) { public String toString() { return "AnyPiece{piece=" + piece + '}'; } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java index 1f077d61..509a834b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java @@ -23,24 +23,4 @@ public BriefingMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java index 10197038..60a14301 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java @@ -23,24 +23,4 @@ public CeremonyMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java index 09d57ffb..b8e5a935 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java @@ -23,24 +23,4 @@ public DiceAgainMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java index 7a31fa38..ee230a0e 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java @@ -23,24 +23,4 @@ public DiceNowMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java index abf018a9..9d9c8708 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java @@ -17,7 +17,7 @@ public class DieMessage extends ServerMessage { /** * Constructor for Dice * - * @param diceEye the eye of the dice + * @param diceEye the eye of the dice */ public DieMessage(int diceEye) { super(); @@ -57,16 +57,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "DieMessage{" + "diceEye=" + diceEye + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java index 10dabd02..dcb2f30a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java @@ -23,24 +23,4 @@ public EndOfTurnMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/IncorrectRequestMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/IncorrectRequestMessage.java index df51705b..59429c01 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/IncorrectRequestMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/IncorrectRequestMessage.java @@ -15,6 +15,7 @@ public class IncorrectRequestMessage extends ServerMessage { * @param id as the id of the error message as an Integer. */ public IncorrectRequestMessage(int id) { + super(); this.id = id; } @@ -22,6 +23,7 @@ public IncorrectRequestMessage(int id) { * Constructor. */ public IncorrectRequestMessage() { + super(); this.id = 0; } @@ -35,17 +37,6 @@ public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - /** - * Gets the bundle key of the informational text to be shown at the client. - * This key is used to retrieve the appropriate localized text for display. - * - * @return the bundle key of the informational text - */ - @Override - public String getInfoTextKey() { - return ""; - } - /** * This method will be used to return necessary class information in a more readable format. * diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java index fbaf7c56..3e8f18cc 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java @@ -39,7 +39,6 @@ public int getHost() { return this.host; } - /** * Accepts a visitor to process this message. * @@ -51,22 +50,12 @@ public void accept(ServerInterpreter interpreter) { } /** - * Returns a string representation of this message. + * This method will be used to return necessary class information in a more readable format. * - * @return a string representation of this message + * @return information as a String. */ @Override public String toString() { - return "Lobby Accept"; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "LobbyAcceptMessage with host: %d".formatted(this.host); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java index ea5299ee..5f63bf40 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java @@ -23,24 +23,4 @@ public LobbyDenyMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LobbyDeny"; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinedMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinedMessage.java index fdc5ede4..edcc421f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinedMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinedMessage.java @@ -42,6 +42,7 @@ public LobbyPlayerJoinedMessage(int id, Player player, boolean host) { * Default constructor for serialization purposes. */ private LobbyPlayerJoinedMessage() { + super(); player = null; id = 0; host = false; @@ -61,7 +62,7 @@ public Player getPlayer() { * * @return the id of the player */ - public int getId(){ + public int getId() { return id; } @@ -79,23 +80,8 @@ public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "LobbyPlayerJoinedMessage{" + "player=" + player + ", id=" + id + ", host=" + host + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java index 328e3242..3c6bbba2 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java @@ -16,7 +16,7 @@ public class LobbyPlayerLeaveMessage extends ServerMessage { /** * Constructs a new LobbyPlayerLeave instance with the specified player name and color. * - * @param id the id of the player leaving the lobby. + * @param id the id of the player leaving the lobby. */ public LobbyPlayerLeaveMessage(int id) { super(); @@ -27,6 +27,7 @@ public LobbyPlayerLeaveMessage(int id) { * Default constructor for serialization purposes. */ private LobbyPlayerLeaveMessage() { + super(); id = 0; } @@ -56,16 +57,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "LobbyPlayerLeaveMessage{" + "id=" + id + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java index 4d4f6604..769a8152 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java @@ -40,6 +40,7 @@ public MoveMessage(UUID identifier, boolean isHomeMove, int targetIndex) { * Default constructor for serialization purposes. */ private MoveMessage() { + super(); pieceUUID = null; targetIndex = 0; isHomeMove = false; @@ -59,7 +60,7 @@ public UUID getIdentifier() { * * @return the target index */ - public int getTargetIndex(){ + public int getTargetIndex() { return targetIndex; } @@ -68,7 +69,7 @@ public int getTargetIndex(){ * * @return the boolean isHomeMove. */ - public boolean isHomeMove(){ + public boolean isHomeMove() { return isHomeMove; } @@ -89,16 +90,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "MoveMessage{" + "pieceUUID=" + pieceUUID + ", targetIndex=" + targetIndex + ", isHomeMove=" + isHomeMove + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java index 8240b2b7..3dac4548 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java @@ -23,24 +23,4 @@ public NoTurnMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java index 536a918f..1edafcda 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java @@ -7,7 +7,6 @@ */ @Serializable public class PauseGameMessage extends ServerMessage { - /** * the id of the player who has disconnected */ @@ -54,16 +53,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "PauseGameMessage{" + "playerId=" + playerId + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java index 159b96c2..b81f381d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java @@ -20,15 +20,21 @@ public class PlayCardMessage extends ServerMessage { */ private final UUID ownPieceID; + /** + * The identifier of the enemy piece that should be moved. + */ private final UUID enemyPieceID; + /** + * The modifier of the dice. + */ private final int diceModifier; /** * Constructs a new PlayCard message. * - * @param card the card that should be played - * @param ownPieceID the identifier of the piece that should be moved + * @param card the card that should be played + * @param ownPieceID the identifier of the piece that should be moved * @param enemyPieceID the identifier of the enemy piece that should be moved * @param diceModifier the new modifier of the dice */ @@ -53,7 +59,7 @@ private PlayCardMessage() { /** * Creates a new PlayCard message for the given card and piece identifier. * - * @param ownPieceID the identifier of the piece of the player that should be affected + * @param ownPieceID the identifier of the piece of the player that should be affected * @param enemyPieceID the identifier of the enemy piece that should be affected * @return a new PlayCard message */ @@ -77,7 +83,7 @@ public static PlayCardMessage shield(UUID ownPieceID) { * @param diceModifier the new modifier of the dice * @return newly constructed message */ - public static PlayCardMessage turbo(int diceModifier){ + public static PlayCardMessage turbo(int diceModifier) { return new PlayCardMessage(BonusCard.TURBO, null, null, diceModifier); } @@ -114,7 +120,7 @@ public UUID getPieceIdentifierEnemy() { * * @return the dice modifier as int */ - public int getDiceModifier(){ + public int getDiceModifier() { return diceModifier; } @@ -135,16 +141,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "PlayCardMessage{" + "card=" + card + ", ownPieceID=" + ownPieceID + ", enemyPieceID=" + enemyPieceID + ", diceModifier=" + diceModifier + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java index bceea4d7..b34acb7b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java @@ -59,16 +59,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "PossibleCardMessage{" + "possibleCards=" + possibleCards + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java index cc551388..504840a1 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java @@ -33,7 +33,7 @@ public PossiblePieceMessage() { /** * Swap the possible pieces * - * @param possibleOwnPieces the list of possible own pieces + * @param possibleOwnPieces the list of possible own pieces * @param possibleEnemyPieces the list of possible enemy pieces * @return the swapped possible pieces */ @@ -50,7 +50,7 @@ public static PossiblePieceMessage swapPossiblePieces(ArrayList possibleOw * @param possibleOwnPieces the list of possible own pieces * @return the possible pieces for the shield */ - public static PossiblePieceMessage shieldPossiblePieces(ArrayList possibleOwnPieces){ + public static PossiblePieceMessage shieldPossiblePieces(ArrayList possibleOwnPieces) { PossiblePieceMessage possiblePieceMessage = new PossiblePieceMessage(); possiblePieceMessage.possibleOwnPieces.addAll(possibleOwnPieces); return possiblePieceMessage; @@ -74,14 +74,18 @@ public void addEnemyPossiblePiece(UUID piece) { this.possibleEnemyPieces.add(piece); } - /** Getter for the list of possible pieces + /** + * Getter for the list of possible pieces + * * @return the list of possible pieces */ public List getOwnPossiblePieces() { return possibleOwnPieces; } - /** Getter for the list of possible enemy pieces + /** + * Getter for the list of possible enemy pieces + * * @return the list of possible enemy pieces */ public List getEnemyPossiblePieces() { @@ -105,16 +109,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "PossiblePieceMessage{" + "possibleOwnPieces=" + possibleOwnPieces + ", possibleEnemyPieces=" + possibleEnemyPieces + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java index 3c8e263d..604b1d89 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java @@ -52,16 +52,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "RankingResponseMessage{" + "startingPlayerId=" + startingPlayerId + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java index f89df585..56d82cd3 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java @@ -23,24 +23,4 @@ public RankingRollAgainMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java index 4a1495e6..9e5aeb1f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java @@ -54,16 +54,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "ReconnectBriefingMessage{" + "game=" + game + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java index c95541c0..9e1f349b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java @@ -23,24 +23,4 @@ public ResumeGameMessage() { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java index da229a19..d9d57b86 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java @@ -5,21 +5,35 @@ import java.util.List; import java.util.UUID; +/** + * A message sent by the server to the active player to select a piece to move. + */ @Serializable -public class SelectPieceMessage extends ServerMessage{ - +public class SelectPieceMessage extends ServerMessage { + /** + * The list of pieces + */ private final List pieces; + + /** + * The list of booleans of isHomeMove of the pieces + */ private final List isHomeMove; + + /** + * The list of indexes of target nodes of the pieces + */ private final List targetIndex; /** * Constructs a new SelectPiece instance. * - * @param pieces the pieces to be selected - * @param isHomeMove the List of booleans of isHomeMove of the pieces + * @param pieces the pieces to be selected + * @param isHomeMove the List of booleans of isHomeMove of the pieces * @param targetIndex the List of indexes of target nodes of the pieces */ - public SelectPieceMessage(List pieces, List isHomeMove, List targetIndex){ + public SelectPieceMessage(List pieces, List isHomeMove, List targetIndex) { + super(); this.pieces = pieces; this.isHomeMove = isHomeMove; this.targetIndex = targetIndex; @@ -28,7 +42,8 @@ public SelectPieceMessage(List pieces, List isHomeMove, List getPieces(){ + public List getPieces() { return pieces; } @@ -48,7 +63,7 @@ public List getPieces(){ * * @return List of boolean values */ - public List getIsHomeMove(){ + public List getIsHomeMove() { return isHomeMove; } @@ -57,7 +72,7 @@ public List getIsHomeMove(){ * * @return List of integers */ - public List getTargetIndex(){ + public List getTargetIndex() { return targetIndex; } @@ -77,7 +92,7 @@ public void accept(ServerInterpreter interpreter) { * @return a string representation of this message */ @Override - public String getInfoTextKey() { - return ""; + public String toString() { + return "SelectPieceMessage{" + "pieces=" + pieces + ", isHomeMove=" + isHomeMove + ", targetIndex=" + targetIndex + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java index edb54c9a..67dcf802 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java @@ -36,7 +36,7 @@ public interface ServerInterpreter { /** * Handles a Die message received from the server. * - * @param msg the Dice message received + * @param msg the Die message received */ void received(DieMessage msg); @@ -55,16 +55,16 @@ public interface ServerInterpreter { void received(DiceNowMessage msg); /** - * Handles an EndOfGame message received from the server. + * Handles an EndOfTurn message received from the server. * - * @param msg the EndOfGame message received + * @param msg the EndOfTurn message received */ void received(EndOfTurnMessage msg); /** - * Handles a GameOver message received from the server. + * Handles a LobbyAccept message received from the server. * - * @param msg the GameOver message received + * @param msg the LobbyAccept message received */ void received(LobbyAcceptMessage msg); @@ -132,9 +132,9 @@ public interface ServerInterpreter { void received(PossiblePieceMessage msg); /** - * Handles a RankingResponce message received from the server. + * Handles a RankingResponse message received from the server. * - * @param msg the RankingResponce message received + * @param msg the RankingResponse message received */ void received(RankingResponseMessage msg); @@ -209,9 +209,9 @@ public interface ServerInterpreter { void received(SelectPieceMessage msg); /** - * Handles a SelectTSK message received from the server. + * Handles a Shutdown message received from the server. * - * @param msg the SelectTSK message received. + * @param msg the Shutdown message received. */ void received(ShutdownMessage msg); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java index bc1d6b7d..c67b70bd 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java @@ -22,10 +22,12 @@ protected ServerMessage() { public abstract void accept(ServerInterpreter interpreter); /** - * Gets the bundle key of the informational text to be shown at the client. - * This key is used to retrieve the appropriate localized text for display. + * Returns a string representation of this message. * - * @return the bundle key of the informational text + * @return a string representation of this message */ - public abstract String getInfoTextKey(); + @Override + public String toString() { + return getClass().getSimpleName() + "{}"; + } } 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 fa11b561..522d0284 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 @@ -2,6 +2,10 @@ import com.jme3.network.serializing.Serializable; import pp.mdga.game.Board; +import pp.mdga.game.Player; + +import java.util.ArrayList; +import java.util.List; /** * A message indicating that the game shall start. @@ -9,28 +13,45 @@ @Serializable public class ServerStartGameMessage extends ServerMessage { /** - * Create ServerStartGameMessage attributes. + * The list of players. + */ + private final List players; + + /** + * The board of the game. */ private final Board board; /** - * Constructs a new ServerStartGame instance. + * Constructor. */ public ServerStartGameMessage() { super(); + this.players = new ArrayList<>(); this.board = new Board(); } /** * Constructor. * - * @param board as the board of the game as a Board object. + * @param players as the connected players as a List of Player objects. + * @param board as the board of the game as a Board object. */ - public ServerStartGameMessage(Board board) { + public ServerStartGameMessage(List players, Board board) { super(); + this.players = players; this.board = board; } + /** + * This method will be used to return players attribute of ServerStartGameMessage class. + * + * @return players as a List of Player objects. + */ + public List getPlayers() { + return this.players; + } + /** * This method will return board attribute of ServerStartGameMessage class. * @@ -57,16 +78,7 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; + return "ServerStartGameMessage{" + "players=" + players + ", board=" + board + '}'; } - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ShutdownMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ShutdownMessage.java index 8c898f03..06ce9c12 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ShutdownMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ShutdownMessage.java @@ -7,6 +7,13 @@ */ @Serializable public class ShutdownMessage extends ServerMessage { + /** + * Constructs a new Shutdown message. + */ + public ShutdownMessage() { + super(); + } + /** * Accepts a visitor to process this message. * @@ -16,15 +23,4 @@ public class ShutdownMessage extends ServerMessage { public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - /** - * Gets the bundle key of the informational text to be shown at the client. - * This key is used to retrieve the appropriate localized text for display. - * - * @return the bundle key of the informational text - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java index 6ebc7b23..b7cc8890 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java @@ -1,32 +1,21 @@ package pp.mdga.message.server; /** - * + * A message sent by the server to indicate that the client is now a spectator. */ public class SpectatorMessage extends ServerMessage { /** - * Construc + * Constructor */ public SpectatorMessage() { super(); } /** - * * @param interpreter the visitor to process this message */ @Override public void accept(ServerInterpreter interpreter) { interpreter.received(this); } - - - /** - * - * @return - */ - @Override - public String getInfoTextKey() { - return ""; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java index c8cb5aa0..da62cf47 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java @@ -23,7 +23,7 @@ public class StartPieceMessage extends ServerMessage { * Constructs a new StartPiece instance with the specified piece identifier. * * @param pieceIdentifier the identifier for the piece - * @param targetIndex the index of the targetNode + * @param targetIndex the index of the targetNode */ public StartPieceMessage(UUID pieceIdentifier, int targetIndex) { super(); @@ -54,7 +54,7 @@ public UUID getPieceIdentifier() { * * @return the index of the target node as int. */ - public int getTargetIndex(){ + public int getTargetIndex() { return targetIndex; } @@ -75,16 +75,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "StartPieceMessage{" + "pieceIdentifier=" + pieceIdentifier + ", targetIndex=" + targetIndex + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java index d8d53313..d8b03d23 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java @@ -21,7 +21,7 @@ public class UpdateReadyMessage extends ServerMessage { * Constructs a new UpdateReady instance with the specified color and readiness status. * * @param playerId the playerId associated with the update - * @param ready the readiness status + * @param ready the readiness status */ public UpdateReadyMessage(int playerId, boolean ready) { super(); @@ -73,16 +73,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "UpdateReadyMessage{" + "playerId=" + playerId + ", ready=" + ready + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java index 2da6f682..83f9773a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java @@ -18,12 +18,15 @@ public class UpdateTSKMessage extends ServerMessage { */ private final Color color; + /** + * The flag if the TSK is taken. + */ private final boolean isTaken; /** * Constructs a new UpdateTSK instance with the specified id and color. * - * @param id the name associated with the update + * @param id the name associated with the update * @param color the color associated with the update */ public UpdateTSKMessage(int id, Color color, boolean isTaken) { @@ -58,6 +61,15 @@ public Color getColor() { return color; } + /** + * Checks if the TSK is taken. + * + * @return true if the TSK is taken, false otherwise + */ + public boolean isTaken() { + return isTaken; + } + /** * Accepts a visitor to process this message. * @@ -75,20 +87,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } - - public boolean isTaken() { - return isTaken; + return "UpdateTSKMessage{" + "id=" + id + ", color=" + color + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java index 528ebbe2..d2437a70 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java @@ -9,7 +9,9 @@ */ @Serializable public class WaitPieceMessage extends ServerMessage { - + /** + * The pieceID of the piece to choose. + */ private final UUID pieceID; /** @@ -54,16 +56,6 @@ public void accept(ServerInterpreter interpreter) { */ @Override public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; + return "WaitPieceMessage{" + "pieceID=" + pieceID + '}'; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/InfoNotification.java b/Projekte/mdga/model/src/main/java/pp/mdga/notification/InfoNotification.java index 4ccb87d6..c13c9e18 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/InfoNotification.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/notification/InfoNotification.java @@ -1,6 +1,5 @@ package pp.mdga.notification; -import pp.mdga.game.BonusCard; /** * Notification that is to give information to the player. */ 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 ad87ba3b..8f9d0453 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 @@ -2,7 +2,6 @@ import pp.mdga.game.Color; import pp.mdga.game.Player; -import pp.mdga.game.PlayerData; import pp.mdga.message.client.*; import pp.mdga.message.server.*; import pp.mdga.server.ServerGameLogic; @@ -48,8 +47,8 @@ public void exit() { * This method will be used to initialize the game and all necessary objects. */ public void initializeGame() { - for (Map.Entry entry : this.logic.getGame().getPlayers().entrySet()) { - this.logic.getGame().getBoard().addPlayerData(entry.getValue().getColor(), new PlayerData(entry.getValue().getColor())); + for (var player : this.logic.getGame().getPlayers().values()) { + player.initialize(); } } @@ -122,11 +121,6 @@ public void received(LobbyReadyMessage msg, int from) { } this.logic.getGame().getPlayerById(from).setReady(true); this.logic.getServerSender().broadcast(new UpdateReadyMessage(from, true)); - if (this.logic.getGame().areAllReady()) { - this.initializeGame(); - this.logic.getServerSender().broadcast(new ServerStartGameMessage(this.logic.getGame().getBoard())); - this.logic.setCurrentState(this.logic.getGameState()); - } } /** @@ -151,9 +145,9 @@ public void received(LobbyNotReadyMessage msg, int from) { */ @Override public void received(StartGameMessage msg, int from) { - if (msg.isForceStartGame() || this.logic.getGame().areAllReady()) { + if (this.logic.getGame().areAllReady()) { this.initializeGame(); - this.logic.getServerSender().broadcast(new ServerStartGameMessage(this.logic.getGame().getBoard())); + this.logic.getServerSender().broadcast(new ServerStartGameMessage(this.logic.getGame().getPlayersAsList(), this.logic.getGame().getBoard())); this.logic.setCurrentState(this.logic.getGameState()); } } diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java index c5c84b68..3b7c87db 100644 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java +++ b/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java @@ -4,22 +4,22 @@ import org.junit.Test; import pp.mdga.client.*; import pp.mdga.client.CeremonyState; -import pp.mdga.client.ceremonyState.PodiumState; -import pp.mdga.client.ceremonyState.StatisticsState; -import pp.mdga.client.dialogState.LobbyState; -import pp.mdga.client.dialogState.NetworkDialogState; -import pp.mdga.client.dialogState.StartDialogState; -import pp.mdga.client.gameState.*; -import pp.mdga.client.gameState.turnState.choosePieceState.*; -import pp.mdga.client.gameState.determineStartPlayer.DetermineStartPlayerStateMachine; -import pp.mdga.client.gameState.turnState.*; -import pp.mdga.client.gameState.turnState.powerCardState.ChoosePowerCardState; -import pp.mdga.client.gameState.turnState.powerCardState.ShieldState; -import pp.mdga.client.gameState.turnState.powerCardState.SwapState; +import pp.mdga.client.ceremonystate.PodiumState; +import pp.mdga.client.ceremonystate.StatisticsState; +import pp.mdga.client.dialogstate.LobbyState; +import pp.mdga.client.dialogstate.NetworkDialogState; +import pp.mdga.client.dialogstate.StartDialogState; +import pp.mdga.client.gamestate.*; +import pp.mdga.client.gamestate.turnstate.choosepiecestate.*; +import pp.mdga.client.gamestate.determineStartPlayer.DetermineStartPlayerStateMachine; +import pp.mdga.client.gamestate.turnstate.*; +import pp.mdga.client.gamestate.turnstate.powercardstate.ChoosePowerCardState; +import pp.mdga.client.gamestate.turnstate.powercardstate.ShieldState; +import pp.mdga.client.gamestate.turnstate.powercardstate.SwapState; import pp.mdga.client.SettingsState; -import pp.mdga.client.settingsState.AudioSettingsState; -import pp.mdga.client.settingsState.MainSettingsState; -import pp.mdga.client.settingsState.VideoSettingsState; +import pp.mdga.client.settingsstate.AudioSettingsState; +import pp.mdga.client.settingsstate.MainSettingsState; +import pp.mdga.client.settingsstate.VideoSettingsState; import pp.mdga.game.BonusCard; import pp.mdga.game.Color; import pp.mdga.message.client.ClientMessage;