This commit is contained in:
Daniel Grigencha
2024-12-06 01:06:20 +01:00
11 changed files with 46 additions and 29 deletions

View File

@@ -124,7 +124,7 @@ private void initializeSerializables() {
Serializer.registerClass(NoTurnMessage.class);
Serializer.registerClass(PauseGameMessage.class);
Serializer.registerClass(PlayCardMessage.class);
Serializer.registerClass(PossibleCardMessage.class);
Serializer.registerClass(PossibleCardsMessage.class);
Serializer.registerClass(PossiblePieceMessage.class);
Serializer.registerClass(RankingResponseMessage.class);
Serializer.registerClass(RankingRollAgainMessage.class);

View File

@@ -330,7 +330,7 @@ public void received(PlayCardMessage msg) {
* @param msg the PossibleCard message received
*/
@Override
public void received(PossibleCardMessage msg) {
public void received(PossibleCardsMessage msg) {
state.received(msg);
}

View File

@@ -116,7 +116,7 @@ public void received(PlayCardMessage msg) {
}
@Override
public void received(PossibleCardMessage msg) {
public void received(PossibleCardsMessage msg) {
LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg.toString());
}

View File

@@ -241,7 +241,7 @@ public void received(DiceAgainMessage msg){
* @param msg the message to be received
*/
@Override
public void received(PossibleCardMessage msg){
public void received(PossibleCardsMessage msg){
state.received(msg);
}

View File

@@ -108,7 +108,7 @@ public void received(DiceAgainMessage msg){
}
@Override
public void received(PossibleCardMessage msg){
public void received(PossibleCardsMessage msg){
state.received(msg);
}

View File

@@ -11,7 +11,7 @@
import pp.mdga.game.Piece;
import pp.mdga.message.server.DiceNowMessage;
import pp.mdga.message.server.PlayCardMessage;
import pp.mdga.message.server.PossibleCardMessage;
import pp.mdga.message.server.PossibleCardsMessage;
import pp.mdga.message.server.PossiblePieceMessage;
public class PowerCardState extends TurnStates {
@@ -48,7 +48,7 @@ public void setState(PowerCardStates state) {
}
@Override
public void received(PossibleCardMessage msg){
public void received(PossibleCardsMessage msg){
state.received(msg);
}

View File

@@ -4,11 +4,12 @@
import pp.mdga.client.ClientState;
import pp.mdga.client.gamestate.turnstate.PowerCardState;
import pp.mdga.game.BonusCard;
import pp.mdga.game.card.*;
import pp.mdga.message.client.NoPowerCardMessage;
import pp.mdga.message.client.SelectCardMessage;
import pp.mdga.message.server.DiceNowMessage;
import pp.mdga.message.server.PlayCardMessage;
import pp.mdga.message.server.PossibleCardMessage;
import pp.mdga.message.server.PossibleCardsMessage;
import pp.mdga.message.server.PossiblePieceMessage;
import pp.mdga.notification.SelectableCardsNotification;
@@ -21,7 +22,7 @@
public class ChoosePowerCardState extends PowerCardStates {
private final PowerCardState parent;
private ArrayList<BonusCard> possibleCards;
private ArrayList<PowerCard> possibleCards;
/**
* Constructor
@@ -39,7 +40,6 @@ public ChoosePowerCardState(ClientState parent, ClientGameLogic logic) {
@Override
public void enter() {
possibleCards = new ArrayList<>();
System.out.println("ChoosePowerCardState");
}
/**
@@ -55,9 +55,15 @@ public void exit() {
* @param msg possible cards message
*/
@Override
public void received(PossibleCardMessage msg){
possibleCards = (ArrayList<BonusCard>) msg.getPossibleCards();
logic.addNotification(new SelectableCardsNotification(possibleCards));
public void received(PossibleCardsMessage msg){
possibleCards = (ArrayList<PowerCard>)msg.getPossibleCards();
ArrayList<BonusCard> possibleBonusCards = new ArrayList<>();
for (PowerCard card : possibleCards) {
if (!possibleBonusCards.contains(card.getCard())) {
possibleBonusCards.add(card.getCard());
}
}
logic.addNotification(new SelectableCardsNotification(possibleBonusCards));
}
/**
@@ -67,7 +73,7 @@ public void received(PossibleCardMessage msg){
@Override
public void selectCard(BonusCard card){
if(card != null){
logic.send(new SelectCardMessage(card));
logic.send(new SelectCardMessage(logic.getGame().getPlayers().get(logic.getOwnPlayerId()).getPowerCardByType(card)));
} else {
logic.send(new NoPowerCardMessage());
}
@@ -79,11 +85,6 @@ public void selectCard(BonusCard card){
*/
@Override
public void received(PlayCardMessage msg){
if(msg.getCard().equals(BonusCard.TURBO)){
logic.getGame().setDiceModifier(msg.getDiceModifier());
} else {
LOGGER.log(System.Logger.Level.ERROR, "Received card that is not turbo");
}
}
/**

View File

@@ -137,6 +137,21 @@ public boolean isFinished() {
return true;
}
/**
* This method returns a PowerCard based on its Type.
*
* @param bonusCard the card Type to be matched
* @return the first PowerCard of this type
*/
public PowerCard getPowerCardByType(BonusCard bonusCard) {
for (PowerCard card : this.handCards) {
if(card.getCard().equals(bonusCard)) {
return card;
}
}
return null;
}
/**
* This method returns the give name of the Player
*

View File

@@ -2,6 +2,7 @@
import com.jme3.network.serializing.Serializable;
import pp.mdga.game.BonusCard;
import pp.mdga.game.card.PowerCard;
/**
* A message sent from the client to the server to select a bonus card.
@@ -11,14 +12,14 @@ public class SelectCardMessage extends ClientMessage {
/**
* The bonus card to be selected.
*/
private final BonusCard card;
private final PowerCard card;
/**
* Constructs a new SelectCard instance.
*
* @param card the bonus card to be selected
* @param card the power card to be selected
*/
public SelectCardMessage(BonusCard card) {
public SelectCardMessage(PowerCard card) {
this.card = card;
}
@@ -30,11 +31,11 @@ private SelectCardMessage() {
}
/**
* Gets the bonus card associated with this selection.
* Gets the power card associated with this selection.
*
* @return the bonus card
* @return the power card
*/
public BonusCard getCard() {
public PowerCard getCard() {
return card;
}

View File

@@ -10,7 +10,7 @@
* A message sent by the server to the client to indicate the possible cards that can be chosen.
*/
@Serializable
public class PossibleCardMessage extends ServerMessage {
public class PossibleCardsMessage extends ServerMessage {
/**
* The list of possible cards.
*/
@@ -19,7 +19,7 @@ public class PossibleCardMessage extends ServerMessage {
/**
* Constructor for a PossibleCard instance.
*/
public PossibleCardMessage() {
public PossibleCardsMessage() {
super();
possibleCards = new ArrayList<>();
}
@@ -29,7 +29,7 @@ public PossibleCardMessage() {
*
* @param possibleCards as the list of possible power cards as a List of PowerCard objects.
*/
public PossibleCardMessage(List<PowerCard> possibleCards) {
public PossibleCardsMessage(List<PowerCard> possibleCards) {
this.possibleCards = possibleCards;
}

View File

@@ -122,7 +122,7 @@ public interface ServerInterpreter {
*
* @param msg the PossibleCard message received
*/
void received(PossibleCardMessage msg);
void received(PossibleCardsMessage msg);
/**
* Handles a PossiblePiece message received from the server.