From 0487ff0238ae93f1068c5a6c02ac69a5f946f0f2 Mon Sep 17 00:00:00 2001 From: Fleischer Hanno Date: Sat, 30 Nov 2024 13:02:23 +0100 Subject: [PATCH] modified messages to work with piece uuid instead of an identifier. --- .../mdga/client/gameState/WaitingState.java | 23 ++++++++++--- .../src/main/java/pp/mdga/game/Board.java | 2 +- .../pp/mdga/message/server/MoveMessage.java | 34 ++++++++++++++++++- .../message/server/SelectPieceMessage.java | 10 +++++- .../message/server/StartPieceMessage.java | 19 ++++++++++- 5 files changed, 79 insertions(+), 9 deletions(-) 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 index 4b6f3f87..a936fb79 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 @@ -3,9 +3,7 @@ import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientState; import pp.mdga.client.GameState; -import pp.mdga.message.server.CeremonyMessage; -import pp.mdga.message.server.DiceNowMessage; -import pp.mdga.message.server.EndOfTurnMessage; +import pp.mdga.message.server.*; public class WaitingState extends GameStates { @@ -37,7 +35,22 @@ public void received(DiceNowMessage msg){ } @Override - public void received(EndOfTurnMessage msg){ - parent.setState(parent.getWaiting()); + public void received(DieMessage msg){ + parent.setState(parent.getAnimation()); + } + + @Override + public void received(PlayCardMessage msg){ + parent.setState(parent.getAnimation()); + } + + @Override + public void received(ActivePlayerMessage msg){ + parent.setState(parent.getAnimation()); + } + + @Override + public void received(MoveMessage msg){ + parent.setState(parent.getAnimation()); } } 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 82554248..26af00c7 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 @@ -7,7 +7,7 @@ */ public class Board { private Map playerData; - private Node[] infield; + private final Node[] infield; /** * This constructor is used to create a new board 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 27dbe370..5c14f8a0 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 @@ -12,14 +12,26 @@ public class MoveMessage extends ServerMessage { */ private final String pieceIdentifier; + /** + * The index of the target node; + */ + private final int targetIndex; + + /** + * True if the pieces move into the home. + */ + private final boolean isHomeMove; + /** * Constructs a new MoveMessage instance. * * @param identifier the identifier of the piece that should be moved */ - public MoveMessage(String identifier) { + public MoveMessage(String identifier, boolean isHomeMove, int targetIndex) { super(); this.pieceIdentifier = identifier; + this.isHomeMove = isHomeMove; + this.targetIndex = targetIndex; } /** @@ -27,6 +39,8 @@ public MoveMessage(String identifier) { */ private MoveMessage() { pieceIdentifier = null; + targetIndex = 0; + isHomeMove = false; } /** @@ -38,6 +52,24 @@ public String getIdentifier() { return pieceIdentifier; } + /** + * Returns the index of the target Node. + * + * @return the target index + */ + public int getTargetIndex(){ + return targetIndex; + } + + /** + * Returns a boolean based on if it is a home move or not. + * + * @return the boolean isHomeMove. + */ + public boolean isHomeMove(){ + return isHomeMove; + } + /** * Accepts a visitor to process this message. * 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 b1220d8d..d1ac6dc3 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 @@ -8,14 +8,20 @@ public class SelectPieceMessage extends ServerMessage{ private final List pieces; + private final List isHomeMove; + 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 targetIndex the List of indexes of target nodes of the pieces */ - public SelectPieceMessage(List pieces){ + public SelectPieceMessage(List pieces, List isHomeMove, List targetIndex){ this.pieces = pieces; + this.isHomeMove = isHomeMove; + this.targetIndex = targetIndex; } /** @@ -23,6 +29,8 @@ public SelectPieceMessage(List pieces){ */ public SelectPieceMessage(){ pieces = null; + isHomeMove = null; + targetIndex = null; } /** 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 51910961..9ac17778 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 @@ -12,14 +12,21 @@ public class StartPieceMessage extends ServerMessage { */ private final String pieceIdentifier; + /** + * The target index of the move; + */ + private final int targetIndex; + /** * Constructs a new StartPiece instance with the specified piece identifier. * * @param pieceIdentifier the identifier for the piece + * @param targetIndex the index of the targetNode */ - public StartPieceMessage(String pieceIdentifier) { + public StartPieceMessage(String pieceIdentifier, int targetIndex) { super(); this.pieceIdentifier = pieceIdentifier; + this.targetIndex = targetIndex; } /** @@ -28,6 +35,7 @@ public StartPieceMessage(String pieceIdentifier) { private StartPieceMessage() { super(); this.pieceIdentifier = ""; + this.targetIndex = 0; } /** @@ -39,6 +47,15 @@ public String getPieceIdentifier() { return pieceIdentifier; } + /** + * Gets the index of the target node + * + * @return the index of the target node as int. + */ + public int getTargetIndex(){ + return targetIndex; + } + /** * Accepts a visitor to process this message. *