diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java index d2149837..8c21b0b0 100644 --- a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java @@ -16,17 +16,20 @@ public class RequestPlayCard extends ClientMessage { /** * The identifier of the piece. */ - private final String pieceIdentifier; + private final String ownPieceIdentifier; + + private final String enemyPieceIdentifier; /** * Constructs a new RequestPlayCard instance. * * @param card the bonus card to be played - * @param pieceIdentifier the identifier of the piece + * @param ownPieceIdentifier the identifier of the piece */ - public RequestPlayCard(BonusCard card, String pieceIdentifier) { - this.pieceIdentifier = pieceIdentifier; + public RequestPlayCard(BonusCard card, String ownPieceIdentifier, String enemyPieceIdentifier) { + this.ownPieceIdentifier = ownPieceIdentifier; this.card = card; + this.enemyPieceIdentifier = enemyPieceIdentifier; } /** @@ -34,7 +37,23 @@ public RequestPlayCard(BonusCard card, String pieceIdentifier) { */ private RequestPlayCard() { card = null; - pieceIdentifier = null; + ownPieceIdentifier = null; + enemyPieceIdentifier = null; + } + + /** + * Creates a new RequestPlayCard instance for a given bonus card. + * + * @param ownPieceIdentifier the identifier of the piece + * @param enemyPieceIdentifier the identifier of the enemy piece + * @return a new RequestPlayCard instance + */ + public static RequestPlayCard requestPlaySwap(String ownPieceIdentifier, String enemyPieceIdentifier){ + return new RequestPlayCard(BonusCard.SWAP, ownPieceIdentifier, enemyPieceIdentifier); + } + + public static RequestPlayCard requestPlayShield(String ownPieceIdentifier){ + return new RequestPlayCard(BonusCard.SHIELD, ownPieceIdentifier, null); } /** @@ -51,8 +70,17 @@ public BonusCard getCard() { * * @return the piece identifier */ - public String getPieceIdentifier() { - return pieceIdentifier; + public String getOwnPieceIdentifier() { + return ownPieceIdentifier; + } + + /** + * Gets the enemy piece identifier associated with this request. + * + * @return the enemy piece identifier + */ + public String getEnemyPieceIdentifier() { + return enemyPieceIdentifier; } /**