From 0a1bd1f5038dd0ac5638476b3f097f27539bc0c2 Mon Sep 17 00:00:00 2001 From: Hanno Fleischer Date: Fri, 6 Dec 2024 02:04:55 +0100 Subject: [PATCH] adjusted all State containing 'received(PlayCardMessage msg)' to work with the new message --- .../pp/mdga/client/gamestate/GameStates.java | 28 +++++++++++-------- .../mdga/client/gamestate/SpectatorState.java | 2 +- .../mdga/client/gamestate/WaitingState.java | 2 +- .../turnstate/PlayPowerCardState.java | 2 +- .../powercardstate/ChoosePowerCardState.java | 4 +++ 5 files changed, 24 insertions(+), 14 deletions(-) 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 index 141bddae..fa93c518 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 @@ -12,25 +12,21 @@ import pp.mdga.notification.SwapPieceNotification; import pp.mdga.notification.ThrowPieceNotification; +import java.util.UUID; + public abstract class GameStates extends ClientState { public GameStates(ClientState parent, ClientGameLogic logic) { super(parent, logic); } protected void handlePowerCard(PlayCardMessage msg) { - if (msg.getCard().equals(BonusCard.TURBO)) { + if (msg.getCard().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())); - } else { - logic.getGame().getPieceThroughUUID(msg.getPieceIdentifier()).setShield(ShieldState.ACTIVE); - logic.addNotification(new ShieldActiveNotification(logic.getGame().getPieceThroughUUID(msg.getPieceIdentifier()).getUuid())); - } + } else if (msg.getCard().getCard().equals(BonusCard.SHIELD)) { + handleShield(msg.getPieces().get(0).getUuid()); } else { - Piece ownPiece = logic.getGame().getPieceThroughUUID(msg.getPieceIdentifier()); - Piece enemyPiece = logic.getGame().getPieceThroughUUID(msg.getPieceIdentifierEnemy()); + Piece ownPiece = logic.getGame().getPieceThroughUUID(msg.getPieces().get(0).getUuid()); + Piece enemyPiece = logic.getGame().getPieceThroughUUID(msg.getPieces().get(1).getUuid()); int ownIndex = logic.getGame().getBoard().getInfieldIndexOfPiece(ownPiece); logic.addNotification(new SwapPieceNotification(ownPiece.getUuid(), enemyPiece.getUuid())); logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(enemyPiece)].setOccupant(ownPiece); @@ -47,4 +43,14 @@ protected void throwPiece(Piece piece) { logic.getGame().getGameStatistics().increasePiecesBeingThrown(); piece.setState(PieceState.WAITING); } + + private void handleShield(UUID uuid) { + if (logic.getGame().getBoard().getInfieldIndexOfPiece(logic.getGame().getPieceThroughUUID(uuid)) % 10 != 0) { + logic.getGame().getPieceThroughUUID(uuid).setShield(ShieldState.SUPPRESSED); + logic.addNotification(new ShieldSuppressedNotification(uuid)); + } else { + logic.getGame().getPieceThroughUUID(uuid).setShield(ShieldState.ACTIVE); + logic.addNotification(new ShieldActiveNotification(uuid)); + } + } } 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 index 3b190708..48a12c28 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 @@ -47,7 +47,7 @@ public void received(DieMessage msg) { @Override public void received(PlayCardMessage msg) { - logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard())); + logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard().getCard())); handlePowerCard(msg); logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseCardsPlayed(); logic.getGame().getGameStatistics().increaseCardsPlayed(); 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 a8bdcf40..3ceffeb9 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 @@ -51,7 +51,7 @@ public void received(DieMessage msg) { @Override public void received(PlayCardMessage msg) { - logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard())); + logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard().getCard())); handlePowerCard(msg); logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseCardsPlayed(); logic.getGame().getGameStatistics().increaseCardsPlayed(); 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 index 3e9b0d47..5f95a2ca 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 @@ -20,7 +20,7 @@ public PlayPowerCardState(ClientState parent, ClientGameLogic logic) { @Override public void enter() { - logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor() , playCardMessage.getCard())); + logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor() , playCardMessage.getCard().getCard())); handlePowerCard(playCardMessage); } 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 index 11213b58..9497cfe3 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 @@ -85,6 +85,10 @@ public void selectCard(BonusCard card){ */ @Override public void received(PlayCardMessage msg){ + if(msg.getCard().getCard().equals(BonusCard.TURBO)){ + parent.getParent().getPlayPowerCard().setPlayCard(msg); + parent.getParent().setState(parent.getParent().getPlayPowerCard()); + } } /**