merge development into test #26

Merged
j23f0712 merged 95 commits from development into dev/test 2024-12-01 21:02:48 +01:00
Showing only changes of commit dfea7e8736 - Show all commits

View File

@@ -15,32 +15,55 @@
import java.util.ArrayList; import java.util.ArrayList;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/**
* State where the player can choose a power card
*/
public class ChoosePowerCardState extends PowerCardStates { public class ChoosePowerCardState extends PowerCardStates {
private final PowerCardState parent; private final PowerCardState parent;
private ArrayList<BonusCard> possibleCards; private ArrayList<BonusCard> possibleCards;
/**
* Constructor
* @param parent parent state
* @param logic game logic
*/
public ChoosePowerCardState(ClientState parent, ClientGameLogic logic) { public ChoosePowerCardState(ClientState parent, ClientGameLogic logic) {
super(parent, logic); super(parent, logic);
this.parent = (PowerCardState) parent; this.parent = (PowerCardState) parent;
} }
/**
* Enter the state
*/
@Override @Override
public void enter() { public void enter() {
possibleCards = new ArrayList<>(); possibleCards = new ArrayList<>();
//TODO: logic.send(new RequestPossibleCardsMessage());
} }
/**
* Exit the state
*/
@Override @Override
public void exit() { public void exit() {
possibleCards = null; possibleCards = null;
} }
/**
* Set the possible cards
* @param msg possible cards message
*/
@Override @Override
public void received(PossibleCardMessage msg){ public void received(PossibleCardMessage msg){
possibleCards = (ArrayList<BonusCard>) msg.getPossibleCards(); possibleCards = (ArrayList<BonusCard>) msg.getPossibleCards();
logic.addNotification(new SelectableCardsNotification(possibleCards)); logic.addNotification(new SelectableCardsNotification(possibleCards));
} }
/**
* Select a card
* @param card card to select
*/
@Override @Override
public void selectCard(BonusCard card){ public void selectCard(BonusCard card){
if(card != null){ if(card != null){
@@ -50,6 +73,10 @@ public void selectCard(BonusCard card){
} }
} }
/**
* Receive a card
* @param msg card message
*/
@Override @Override
public void received(PlayCardMessage msg){ public void received(PlayCardMessage msg){
if(msg.getCard().equals(BonusCard.TURBO)){ if(msg.getCard().equals(BonusCard.TURBO)){
@@ -59,11 +86,19 @@ public void received(PlayCardMessage msg){
} }
} }
/**
* Receive a die now message
* @param msg dice now message
*/
@Override @Override
public void received(DiceNowMessage msg){ public void received(DiceNowMessage msg){
parent.getParent().setState(parent.getParent().getRollDice()); parent.getParent().setState(parent.getParent().getRollDice());
} }
/**
* Receive a possible piece message and decide if the player can swap or shield
* @param msg possible piece message
*/
@Override @Override
public void received(PossiblePieceMessage msg){ public void received(PossiblePieceMessage msg){
if (msg.getEnemyPossiblePieces().isEmpty()){ if (msg.getEnemyPossiblePieces().isEmpty()){