From 5e79a4a64cb1a6c5765c0c0c082d746063d04d37 Mon Sep 17 00:00:00 2001 From: Fleischer Hanno Date: Mon, 9 Dec 2024 01:35:37 +0100 Subject: [PATCH] added remove handcard --- Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java | 2 +- .../server/automaton/game/turn/powercard/ShieldCardState.java | 3 +++ .../server/automaton/game/turn/powercard/SwapCardState.java | 3 +++ .../server/automaton/game/turn/powercard/TurboCardState.java | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) 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 eaa43c13..2c6486f0 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 @@ -92,7 +92,7 @@ public Game() { * This method initializes the draw pile with the predefined number of bonus cards. */ private void initializeDrawPile() { -// this.addBonusCards(new TurboCard(), AMOUNT_OF_TURBO_CARDS); + this.addBonusCards(new TurboCard(), AMOUNT_OF_TURBO_CARDS); this.addBonusCards(new SwapCard(), AMOUNT_OF_SWAP_CARDS); // this.addBonusCards(new ShieldCard(), AMOUNT_OF_SHIELD_CARDS); Collections.shuffle(this.drawPile); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/ShieldCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/ShieldCardState.java index 1d095895..cf7eaff0 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/ShieldCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/ShieldCardState.java @@ -3,6 +3,7 @@ import pp.mdga.game.Piece; import pp.mdga.game.PieceState; import pp.mdga.game.ShieldState; +import pp.mdga.game.card.PowerCard; import pp.mdga.message.client.SelectedPiecesMessage; import pp.mdga.message.server.IncorrectRequestMessage; import pp.mdga.message.server.PlayCardMessage; @@ -56,6 +57,8 @@ public void received(SelectedPiecesMessage msg, int from) { } } this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new PlayCardMessage(this.powerCardAutomaton.getSelectedCard(), new ArrayList<>(), this.logic.getGame().getDiceModifier())); + this.logic.getGame().getPlayerByColor(this.logic.getGame().getActiveColor()).removeHandCard(this.powerCardAutomaton.getSelectedCard()); + this.logic.getGame().getDiscardPile().add(this.powerCardAutomaton.getSelectedCard()); this.powerCardAutomaton.getTurnAutomaton().setCurrentState(this.powerCardAutomaton.getTurnAutomaton().getPlayPowerCardState()); } else { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/SwapCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/SwapCardState.java index e8074773..ab297dc8 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/SwapCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/SwapCardState.java @@ -78,6 +78,9 @@ public void received(SelectedPiecesMessage msg, int from) { logic.getServerSender().broadcast(new PlayCardMessage(this.powerCardAutomaton.getSelectedCard(), msg.getPieces(), 1)); + this.logic.getGame().getPlayerByColor(this.logic.getGame().getActiveColor()).removeHandCard(this.powerCardAutomaton.getSelectedCard()); + this.logic.getGame().getDiscardPile().add(this.powerCardAutomaton.getSelectedCard()); + this.powerCardAutomaton.getTurnAutomaton().setCurrentState(this.powerCardAutomaton.getTurnAutomaton().getPlayPowerCardState()); } } else { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/TurboCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/TurboCardState.java index 6cbf91ec..74d40d0d 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/TurboCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/powercard/TurboCardState.java @@ -26,6 +26,8 @@ public void enter() { this.logic.getGame().getDie().modify(); this.logic.getGame().setDiceModifier(this.logic.getGame().getDie().getDieModifier()); this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new PlayCardMessage(this.powerCardAutomaton.getSelectedCard(), new ArrayList<>(), this.logic.getGame().getDiceModifier())); + this.logic.getGame().getPlayerByColor(this.logic.getGame().getActiveColor()).removeHandCard(this.powerCardAutomaton.getSelectedCard()); + this.logic.getGame().getDiscardPile().add(this.powerCardAutomaton.getSelectedCard()); this.powerCardAutomaton.getTurnAutomaton().setCurrentState(this.powerCardAutomaton.getTurnAutomaton().getPlayPowerCardState()); }