modified messages to work with piece uuid instead of an identifier.

This commit is contained in:
Fleischer Hanno
2024-11-30 13:02:23 +01:00
parent 4d6cd63a3d
commit 0487ff0238
5 changed files with 79 additions and 9 deletions

View File

@@ -3,9 +3,7 @@
import pp.mdga.client.ClientGameLogic; import pp.mdga.client.ClientGameLogic;
import pp.mdga.client.ClientState; import pp.mdga.client.ClientState;
import pp.mdga.client.GameState; import pp.mdga.client.GameState;
import pp.mdga.message.server.CeremonyMessage; import pp.mdga.message.server.*;
import pp.mdga.message.server.DiceNowMessage;
import pp.mdga.message.server.EndOfTurnMessage;
public class WaitingState extends GameStates { public class WaitingState extends GameStates {
@@ -37,7 +35,22 @@ public void received(DiceNowMessage msg){
} }
@Override @Override
public void received(EndOfTurnMessage msg){ public void received(DieMessage msg){
parent.setState(parent.getWaiting()); parent.setState(parent.getAnimation());
}
@Override
public void received(PlayCardMessage msg){
parent.setState(parent.getAnimation());
}
@Override
public void received(ActivePlayerMessage msg){
parent.setState(parent.getAnimation());
}
@Override
public void received(MoveMessage msg){
parent.setState(parent.getAnimation());
} }
} }

View File

@@ -7,7 +7,7 @@
*/ */
public class Board { public class Board {
private Map<Color, PlayerData> playerData; private Map<Color, PlayerData> playerData;
private Node[] infield; private final Node[] infield;
/** /**
* This constructor is used to create a new board * This constructor is used to create a new board

View File

@@ -12,14 +12,26 @@ public class MoveMessage extends ServerMessage {
*/ */
private final String pieceIdentifier; private final String pieceIdentifier;
/**
* The index of the target node;
*/
private final int targetIndex;
/**
* True if the pieces move into the home.
*/
private final boolean isHomeMove;
/** /**
* Constructs a new MoveMessage instance. * Constructs a new MoveMessage instance.
* *
* @param identifier the identifier of the piece that should be moved * @param identifier the identifier of the piece that should be moved
*/ */
public MoveMessage(String identifier) { public MoveMessage(String identifier, boolean isHomeMove, int targetIndex) {
super(); super();
this.pieceIdentifier = identifier; this.pieceIdentifier = identifier;
this.isHomeMove = isHomeMove;
this.targetIndex = targetIndex;
} }
/** /**
@@ -27,6 +39,8 @@ public MoveMessage(String identifier) {
*/ */
private MoveMessage() { private MoveMessage() {
pieceIdentifier = null; pieceIdentifier = null;
targetIndex = 0;
isHomeMove = false;
} }
/** /**
@@ -38,6 +52,24 @@ public String getIdentifier() {
return pieceIdentifier; return pieceIdentifier;
} }
/**
* Returns the index of the target Node.
*
* @return the target index
*/
public int getTargetIndex(){
return targetIndex;
}
/**
* Returns a boolean based on if it is a home move or not.
*
* @return the boolean isHomeMove.
*/
public boolean isHomeMove(){
return isHomeMove;
}
/** /**
* Accepts a visitor to process this message. * Accepts a visitor to process this message.
* *

View File

@@ -8,14 +8,20 @@
public class SelectPieceMessage extends ServerMessage{ public class SelectPieceMessage extends ServerMessage{
private final List<String> pieces; private final List<String> pieces;
private final List<Boolean> isHomeMove;
private final List<Integer> targetIndex;
/** /**
* Constructs a new SelectPiece instance. * Constructs a new SelectPiece instance.
* *
* @param pieces the pieces to be selected * @param pieces the pieces to be selected
* @param isHomeMove the List of booleans of isHomeMove of the pieces
* @param targetIndex the List of indexes of target nodes of the pieces
*/ */
public SelectPieceMessage(List<String> pieces){ public SelectPieceMessage(List<String> pieces, List<Boolean> isHomeMove, List<Integer> targetIndex){
this.pieces = pieces; this.pieces = pieces;
this.isHomeMove = isHomeMove;
this.targetIndex = targetIndex;
} }
/** /**
@@ -23,6 +29,8 @@ public SelectPieceMessage(List<String> pieces){
*/ */
public SelectPieceMessage(){ public SelectPieceMessage(){
pieces = null; pieces = null;
isHomeMove = null;
targetIndex = null;
} }
/** /**

View File

@@ -12,14 +12,21 @@ public class StartPieceMessage extends ServerMessage {
*/ */
private final String pieceIdentifier; private final String pieceIdentifier;
/**
* The target index of the move;
*/
private final int targetIndex;
/** /**
* Constructs a new StartPiece instance with the specified piece identifier. * Constructs a new StartPiece instance with the specified piece identifier.
* *
* @param pieceIdentifier the identifier for the piece * @param pieceIdentifier the identifier for the piece
* @param targetIndex the index of the targetNode
*/ */
public StartPieceMessage(String pieceIdentifier) { public StartPieceMessage(String pieceIdentifier, int targetIndex) {
super(); super();
this.pieceIdentifier = pieceIdentifier; this.pieceIdentifier = pieceIdentifier;
this.targetIndex = targetIndex;
} }
/** /**
@@ -28,6 +35,7 @@ public StartPieceMessage(String pieceIdentifier) {
private StartPieceMessage() { private StartPieceMessage() {
super(); super();
this.pieceIdentifier = ""; this.pieceIdentifier = "";
this.targetIndex = 0;
} }
/** /**
@@ -39,6 +47,15 @@ public String getPieceIdentifier() {
return pieceIdentifier; return pieceIdentifier;
} }
/**
* Gets the index of the target node
*
* @return the index of the target node as int.
*/
public int getTargetIndex(){
return targetIndex;
}
/** /**
* Accepts a visitor to process this message. * Accepts a visitor to process this message.
* *