merge development into test #26
@@ -1,10 +1,9 @@
|
|||||||
package pp.mdga.client;
|
package pp.mdga.client;
|
||||||
|
|
||||||
import pp.mdga.client.gameState.*;
|
import pp.mdga.client.gameState.*;
|
||||||
import pp.mdga.message.server.DieMessage;
|
import pp.mdga.game.BonusCard;
|
||||||
import pp.mdga.message.server.PauseGameMessage;
|
import pp.mdga.game.Piece;
|
||||||
import pp.mdga.message.server.RankingResponseMessage;
|
import pp.mdga.message.server.*;
|
||||||
import pp.mdga.message.server.RankingRollAgainMessage;
|
|
||||||
import pp.mdga.notification.InterruptNotification;
|
import pp.mdga.notification.InterruptNotification;
|
||||||
|
|
||||||
public class GameState extends ClientState {
|
public class GameState extends ClientState {
|
||||||
@@ -48,6 +47,16 @@ public void selectDice(){
|
|||||||
state.selectDice();
|
state.selectDice();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectPiece(Piece piece){
|
||||||
|
state.selectPiece(piece);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectCard(BonusCard card){
|
||||||
|
state.selectCard(card);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(PauseGameMessage msg){
|
public void received(PauseGameMessage msg){
|
||||||
logic.enterInterrupt();
|
logic.enterInterrupt();
|
||||||
@@ -69,6 +78,71 @@ public void received(RankingResponseMessage msg){
|
|||||||
state.received(msg);
|
state.received(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(SelectPieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(WaitPieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(StartPieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(NoTurnMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(MoveMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(CeremonyMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(EndOfTurnMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(SpectatorMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DiceAgainMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PossibleCardMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PlayCardMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DiceNowMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(ActivePlayerMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
public GameStates getState(){
|
public GameStates getState(){
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,18 @@
|
|||||||
|
|
||||||
import pp.mdga.client.ClientGameLogic;
|
import pp.mdga.client.ClientGameLogic;
|
||||||
import pp.mdga.client.ClientState;
|
import pp.mdga.client.ClientState;
|
||||||
import pp.mdga.message.server.CeremonyMessage;
|
import pp.mdga.client.GameState;
|
||||||
|
import pp.mdga.game.Piece;
|
||||||
|
import pp.mdga.message.server.*;
|
||||||
|
import pp.mdga.notification.*;
|
||||||
|
|
||||||
public class SpectatorState extends GameStates {
|
public class SpectatorState extends GameStates {
|
||||||
|
|
||||||
|
private final GameState parent;
|
||||||
|
|
||||||
public SpectatorState(ClientState parent, ClientGameLogic logic) {
|
public SpectatorState(ClientState parent, ClientGameLogic logic) {
|
||||||
super(parent, logic);
|
super(parent, logic);
|
||||||
|
this.parent = (GameState) parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -23,4 +30,55 @@ public void exit() {
|
|||||||
public void received(CeremonyMessage msg){
|
public void received(CeremonyMessage msg){
|
||||||
logic.setState(logic.getCeremony());
|
logic.setState(logic.getCeremony());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DieMessage msg){
|
||||||
|
logic.getGame().setDiceEyes(msg.getDiceEye());
|
||||||
|
logic.addNotification(new RollDiceNotification(logic.getGame().getActiveColor(), logic.getGame().getDiceEyes(), logic.getGame().getDiceEyes() * logic.getGame().getDiceModifier()));
|
||||||
|
if(msg.getDiceEye() == 6){
|
||||||
|
logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseDiced6();
|
||||||
|
logic.getGame().getGameStatistics().increaseDiced6();
|
||||||
|
}
|
||||||
|
parent.setState(parent.getAnimation());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PlayCardMessage msg){
|
||||||
|
logic.addNotification(new PlayCardNotification(logic.getGame().getActiveColor(), msg.getCard()));
|
||||||
|
handlePowerCard(msg);
|
||||||
|
logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increaseCardsPlayed();
|
||||||
|
logic.getGame().getGameStatistics().increaseCardsPlayed();
|
||||||
|
parent.setState(parent.getAnimation());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(ActivePlayerMessage msg){
|
||||||
|
logic.addNotification(new ActivePlayerNotification(msg.getColor()));
|
||||||
|
logic.getGame().setActiveColor(msg.getColor());
|
||||||
|
parent.setState(parent.getAnimation());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(MoveMessage msg){
|
||||||
|
Piece pieceToMove = logic.getGame().getPieceThroughIdentifier(msg.getIdentifier());
|
||||||
|
if (msg.isHomeMove()){
|
||||||
|
logic.addNotification(new HomeMoveNotification(pieceToMove.getUuid(), msg.getTargetIndex()));
|
||||||
|
logic.getGame().getBoard().getInfield()[logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)].clearOccupant();
|
||||||
|
logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).setPieceInHome(msg.getTargetIndex(), pieceToMove);
|
||||||
|
} else {
|
||||||
|
if (logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].isOccupied()) {
|
||||||
|
throwPiece(logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].getOccupant());
|
||||||
|
logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getPlayerStatistic().increasePiecesThrown();
|
||||||
|
logic.getGame().getGameStatistics().increasePiecesThrown();
|
||||||
|
}
|
||||||
|
if(logic.getGame().getBoard().getPlayerData().get(pieceToMove.getColor()).getStartNodeIndex() == logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove)){
|
||||||
|
logic.addNotification(new MovePieceNotification(pieceToMove.getUuid(), msg.getTargetIndex(), true));
|
||||||
|
logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].setOccupant(pieceToMove);
|
||||||
|
} else {
|
||||||
|
logic.addNotification(new MovePieceNotification(pieceToMove.getUuid(), logic.getGame().getBoard().getInfieldIndexOfPiece(pieceToMove), msg.getTargetIndex()));
|
||||||
|
logic.getGame().getBoard().getInfield()[msg.getTargetIndex()].setOccupant(pieceToMove);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parent.setState(parent.getAnimation());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,10 +9,9 @@
|
|||||||
import pp.mdga.client.gameState.turnState.PowerCardState;
|
import pp.mdga.client.gameState.turnState.PowerCardState;
|
||||||
import pp.mdga.client.gameState.turnState.RollDiceState;
|
import pp.mdga.client.gameState.turnState.RollDiceState;
|
||||||
import pp.mdga.client.gameState.turnState.TurnStates;
|
import pp.mdga.client.gameState.turnState.TurnStates;
|
||||||
import pp.mdga.message.server.CeremonyMessage;
|
import pp.mdga.game.BonusCard;
|
||||||
import pp.mdga.message.server.EndOfTurnMessage;
|
import pp.mdga.game.Piece;
|
||||||
import pp.mdga.message.server.NoTurnMessage;
|
import pp.mdga.message.server.*;
|
||||||
import pp.mdga.message.server.SpectatorMessage;
|
|
||||||
|
|
||||||
public class TurnState extends GameStates {
|
public class TurnState extends GameStates {
|
||||||
|
|
||||||
@@ -47,23 +46,83 @@ public void setState(TurnStates state){
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(NoTurnMessage msg){
|
public void selectPiece(Piece piece){
|
||||||
parent.setState(parent.getWaiting());
|
state.selectPiece(piece);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(EndOfTurnMessage msg){
|
public void selectCard(BonusCard card){
|
||||||
parent.setState(parent.getWaiting());
|
state.selectCard(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectAnimationEnd(){
|
||||||
|
state.selectAnimationEnd();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(SelectPieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(WaitPieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(StartPieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(NoTurnMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(MoveMessage msg){
|
||||||
|
state.received(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(CeremonyMessage msg){
|
public void received(CeremonyMessage msg){
|
||||||
logic.setState(logic.getCeremony());
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(EndOfTurnMessage msg){
|
||||||
|
state.received(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void received(SpectatorMessage msg){
|
public void received(SpectatorMessage msg){
|
||||||
parent.setState(parent.getSpectator());
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DiceAgainMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PossibleCardMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PlayCardMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DiceNowMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DieMessage msg){
|
||||||
|
state.received(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChoosePieceState getChoosePiece() {
|
public ChoosePieceState getChoosePiece() {
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
import pp.mdga.client.ClientState;
|
import pp.mdga.client.ClientState;
|
||||||
import pp.mdga.client.gameState.TurnState;
|
import pp.mdga.client.gameState.TurnState;
|
||||||
import pp.mdga.client.gameState.turnState.choosePieceState.*;
|
import pp.mdga.client.gameState.turnState.choosePieceState.*;
|
||||||
|
import pp.mdga.game.Piece;
|
||||||
|
import pp.mdga.message.server.*;
|
||||||
|
|
||||||
public class ChoosePieceState extends TurnStates {
|
public class ChoosePieceState extends TurnStates {
|
||||||
|
|
||||||
@@ -37,6 +39,36 @@ public void setState(ChoosePieceStates state){
|
|||||||
currentState.enter();
|
currentState.enter();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectPiece(Piece piece){
|
||||||
|
currentState.selectPiece(piece);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(SelectPieceMessage msg){
|
||||||
|
currentState.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(WaitPieceMessage msg){
|
||||||
|
currentState.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(StartPieceMessage msg){
|
||||||
|
currentState.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(NoTurnMessage msg){
|
||||||
|
currentState.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(MoveMessage msg){
|
||||||
|
currentState.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
public NoPieceState getNoPiece(){
|
public NoPieceState getNoPiece(){
|
||||||
return noPieceState;
|
return noPieceState;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,12 @@
|
|||||||
import pp.mdga.client.gameState.turnState.powerCardState.PowerCardStates;
|
import pp.mdga.client.gameState.turnState.powerCardState.PowerCardStates;
|
||||||
import pp.mdga.client.gameState.turnState.powerCardState.ShieldState;
|
import pp.mdga.client.gameState.turnState.powerCardState.ShieldState;
|
||||||
import pp.mdga.client.gameState.turnState.powerCardState.SwapState;
|
import pp.mdga.client.gameState.turnState.powerCardState.SwapState;
|
||||||
|
import pp.mdga.game.BonusCard;
|
||||||
|
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.PossiblePieceMessage;
|
||||||
|
|
||||||
public class PowerCardState extends TurnStates {
|
public class PowerCardState extends TurnStates {
|
||||||
|
|
||||||
@@ -39,6 +45,36 @@ public void setState(PowerCardStates state) {
|
|||||||
this.state = state;
|
this.state = state;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PossibleCardMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PlayCardMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(DiceNowMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void received(PossiblePieceMessage msg){
|
||||||
|
state.received(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectCard(BonusCard card) {
|
||||||
|
state.selectCard(card);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void selectPiece(Piece piece) {
|
||||||
|
state.selectPiece(piece);
|
||||||
|
}
|
||||||
|
|
||||||
public ChoosePowerCardState getChoosePowerCard() {
|
public ChoosePowerCardState getChoosePowerCard() {
|
||||||
return choosePowerCardState;
|
return choosePowerCardState;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user