added Ceremony integration
This commit is contained in:
		@@ -257,33 +257,4 @@ public void selectNext(){
 | 
			
		||||
    public void selectResume(){
 | 
			
		||||
        LOGGER.log(Level.DEBUG, "Resume not allowed");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This method is used to create a CeremonyNotification
 | 
			
		||||
     *
 | 
			
		||||
     * @return the created CeremonyNotification
 | 
			
		||||
     */
 | 
			
		||||
    protected CeremonyNotification createCeremonyNotification(){
 | 
			
		||||
        CeremonyNotification notification = new CeremonyNotification();
 | 
			
		||||
        for (var player : logic.getGame().getPlayers().entrySet()){
 | 
			
		||||
            notification.getColors().add(player.getValue().getColor());
 | 
			
		||||
            notification.getNames().add(player.getValue().getName());
 | 
			
		||||
            notification.getSixes().add(player.getValue().getPlayerStatistic().getDiced6());
 | 
			
		||||
            notification.getBonusNodes().add(player.getValue().getPlayerStatistic().getActivatedBonusNodes());
 | 
			
		||||
            notification.getPiecesLost().add(player.getValue().getPlayerStatistic().getPiecesBeingThrown());
 | 
			
		||||
            notification.getPiecesThrown().add(player.getValue().getPlayerStatistic().getPiecesThrown());
 | 
			
		||||
            notification.getNodesMoved().add(player.getValue().getPlayerStatistic().getTraveledNodes());
 | 
			
		||||
            notification.getBonusCardsPlayed().add(player.getValue().getPlayerStatistic().getCardsPlayed());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        notification.getNames().add("GAME OVERALL");
 | 
			
		||||
        notification.getNodesMoved().add(logic.getGame().getGameStatistics().getTraveledNodes());
 | 
			
		||||
        notification.getSixes().add(logic.getGame().getGameStatistics().getDiced6());
 | 
			
		||||
        notification.getPiecesThrown().add(logic.getGame().getGameStatistics().getPiecesThrown());
 | 
			
		||||
        notification.getPiecesLost().add(logic.getGame().getGameStatistics().getPiecesBeingThrown());
 | 
			
		||||
        notification.getBonusNodes().add(logic.getGame().getGameStatistics().getActivatedBonusNodes());
 | 
			
		||||
        notification.getBonusCardsPlayed().add(logic.getGame().getGameStatistics().getCardsPlayed());
 | 
			
		||||
 | 
			
		||||
        return notification;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@
 | 
			
		||||
import pp.mdga.message.client.LeaveGameMessage;
 | 
			
		||||
import pp.mdga.message.server.*;
 | 
			
		||||
import pp.mdga.notification.AcquireCardNotification;
 | 
			
		||||
import pp.mdga.notification.CeremonyNotification;
 | 
			
		||||
import pp.mdga.notification.DrawCardNotification;
 | 
			
		||||
import pp.mdga.notification.InterruptNotification;
 | 
			
		||||
import pp.mdga.notification.StartDialogNotification;
 | 
			
		||||
@@ -208,7 +209,16 @@ public void received(MoveMessage msg){
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void received(CeremonyMessage msg){
 | 
			
		||||
        logic.addNotification(createCeremonyNotification());
 | 
			
		||||
        CeremonyNotification notification = new CeremonyNotification();
 | 
			
		||||
        notification.setColors(msg.getColors());
 | 
			
		||||
        notification.setNames(msg.getNames());
 | 
			
		||||
        notification.setBonusNodes(msg.getBonusNodes());
 | 
			
		||||
        notification.setSixes(msg.getSixes());
 | 
			
		||||
        notification.setBonusCardsPlayed(msg.getBonusCardsPlayed());
 | 
			
		||||
        notification.setPiecesLost(msg.getPiecesLost());
 | 
			
		||||
        notification.setPiecesThrown(msg.getPiecesThrown());
 | 
			
		||||
        notification.setNodesMoved(msg.getNodesMoved());
 | 
			
		||||
        logic.addNotification(notification);
 | 
			
		||||
        logic.setState(logic.getCeremony());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -80,6 +80,8 @@ public class Game {
 | 
			
		||||
 | 
			
		||||
    private boolean turboFlag = false;
 | 
			
		||||
 | 
			
		||||
    private Map<Integer, Player> playerRanking = new HashMap<>();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This constructor creates a new Game object.
 | 
			
		||||
     */
 | 
			
		||||
@@ -504,4 +506,12 @@ public void setDiceEyes(int diceEyes) {
 | 
			
		||||
    public void setDiceModifier(int diceModifier) {
 | 
			
		||||
        this.diceModifier = diceModifier;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Map<Integer, Player> getPlayerRanking() {
 | 
			
		||||
        return playerRanking;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setPlayerRanking(Map<Integer, Player> playerRanking) {
 | 
			
		||||
        this.playerRanking = playerRanking;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,149 @@
 | 
			
		||||
package pp.mdga.message.server;
 | 
			
		||||
 | 
			
		||||
import com.jme3.network.serializing.Serializable;
 | 
			
		||||
import pp.mdga.game.Color;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A message sent by the server to indicate the beginning of the ceremony.
 | 
			
		||||
 */
 | 
			
		||||
@Serializable
 | 
			
		||||
public class CeremonyMessage extends ServerMessage {
 | 
			
		||||
 | 
			
		||||
    private ArrayList<Color> colors;
 | 
			
		||||
    private ArrayList<String> names;
 | 
			
		||||
    private ArrayList<Integer> piecesThrown;
 | 
			
		||||
    private ArrayList<Integer> piecesLost;
 | 
			
		||||
    private ArrayList<Integer> bonusCardsPlayed;
 | 
			
		||||
    private ArrayList<Integer> sixes;
 | 
			
		||||
    private ArrayList<Integer> nodesMoved;
 | 
			
		||||
    private ArrayList<Integer> bonusNodes;
 | 
			
		||||
    /**
 | 
			
		||||
     * Constructs a new Ceremony instance.
 | 
			
		||||
     */
 | 
			
		||||
    public CeremonyMessage() {
 | 
			
		||||
        super();
 | 
			
		||||
        colors = new ArrayList<>();
 | 
			
		||||
        names = new ArrayList<>();
 | 
			
		||||
        piecesThrown = new ArrayList<>();
 | 
			
		||||
        piecesLost = new ArrayList<>();
 | 
			
		||||
        bonusCardsPlayed = new ArrayList<>();
 | 
			
		||||
        sixes = new ArrayList<>();
 | 
			
		||||
        nodesMoved = new ArrayList<>();
 | 
			
		||||
        bonusNodes = new ArrayList<>();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of colors
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Color> getColors() {
 | 
			
		||||
        return colors;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param colors the list of colors to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setColors(ArrayList<Color> colors) {
 | 
			
		||||
        this.colors = colors;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of player names
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<String> getNames() {
 | 
			
		||||
        return names;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param names the list of player names to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setNames(ArrayList<String> names) {
 | 
			
		||||
        this.names = names;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of pieces thrown
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Integer> getPiecesThrown() {
 | 
			
		||||
        return piecesThrown;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param piecesThrown the list of pieces thrown to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setPiecesThrown(ArrayList<Integer> piecesThrown) {
 | 
			
		||||
        this.piecesThrown = piecesThrown;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of pieces lost
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Integer> getPiecesLost() {
 | 
			
		||||
        return piecesLost;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param piecesLost the list of pieces lost to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setPiecesLost(ArrayList<Integer> piecesLost) {
 | 
			
		||||
        this.piecesLost = piecesLost;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of bonus cards played
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Integer> getBonusCardsPlayed() {
 | 
			
		||||
        return bonusCardsPlayed;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param bonusCardsPlayed the list of bonus cards played to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setBonusCardsPlayed(ArrayList<Integer> bonusCardsPlayed) {
 | 
			
		||||
        this.bonusCardsPlayed = bonusCardsPlayed;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of sixes rolled
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Integer> getSixes() {
 | 
			
		||||
        return sixes;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param sixes the list of sixes rolled to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setSixes(ArrayList<Integer> sixes) {
 | 
			
		||||
        this.sixes = sixes;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of nodes moved
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Integer> getNodesMoved() {
 | 
			
		||||
        return nodesMoved;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param nodesMoved the list of nodes moved to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setNodesMoved(ArrayList<Integer> nodesMoved) {
 | 
			
		||||
        this.nodesMoved = nodesMoved;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @return the list of bonus nodes
 | 
			
		||||
     */
 | 
			
		||||
    public ArrayList<Integer> getBonusNodes() {
 | 
			
		||||
        return bonusNodes;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param bonusNodes the list of bonus nodes to set
 | 
			
		||||
     */
 | 
			
		||||
    public void setBonusNodes(ArrayList<Integer> bonusNodes) {
 | 
			
		||||
        this.bonusNodes = bonusNodes;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,8 @@
 | 
			
		||||
package pp.mdga.server.automaton;
 | 
			
		||||
 | 
			
		||||
import pp.mdga.game.Color;
 | 
			
		||||
import pp.mdga.message.server.CeremonyMessage;
 | 
			
		||||
import pp.mdga.notification.CeremonyNotification;
 | 
			
		||||
import pp.mdga.server.ServerGameLogic;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -20,12 +23,43 @@ public CeremonyState(ServerGameLogic logic) {
 | 
			
		||||
        super(logic);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This method is used to create a CeremonyNotification
 | 
			
		||||
     *
 | 
			
		||||
     * @return the created CeremonyNotification
 | 
			
		||||
     */
 | 
			
		||||
    private CeremonyMessage createCeremonyMessage(){
 | 
			
		||||
        CeremonyMessage message = new CeremonyMessage();
 | 
			
		||||
        for (var player : logic.getGame().getPlayerRanking().entrySet()){
 | 
			
		||||
            message.getColors().add(player.getValue().getColor());
 | 
			
		||||
            message.getNames().add(player.getValue().getName());
 | 
			
		||||
            message.getSixes().add(player.getValue().getPlayerStatistic().getDiced6());
 | 
			
		||||
            message.getBonusNodes().add(player.getValue().getPlayerStatistic().getActivatedBonusNodes());
 | 
			
		||||
            message.getPiecesLost().add(player.getValue().getPlayerStatistic().getPiecesBeingThrown());
 | 
			
		||||
            message.getPiecesThrown().add(player.getValue().getPlayerStatistic().getPiecesThrown());
 | 
			
		||||
            message.getNodesMoved().add(player.getValue().getPlayerStatistic().getTraveledNodes());
 | 
			
		||||
            message.getBonusCardsPlayed().add(player.getValue().getPlayerStatistic().getCardsPlayed());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        message.getNames().add("GAME OVERALL");
 | 
			
		||||
        message.getColors().add(Color.NONE);
 | 
			
		||||
        message.getNodesMoved().add(logic.getGame().getGameStatistics().getTraveledNodes());
 | 
			
		||||
        message.getSixes().add(logic.getGame().getGameStatistics().getDiced6());
 | 
			
		||||
        message.getPiecesThrown().add(logic.getGame().getGameStatistics().getPiecesThrown());
 | 
			
		||||
        message.getPiecesLost().add(logic.getGame().getGameStatistics().getPiecesBeingThrown());
 | 
			
		||||
        message.getBonusNodes().add(logic.getGame().getGameStatistics().getActivatedBonusNodes());
 | 
			
		||||
        message.getBonusCardsPlayed().add(logic.getGame().getGameStatistics().getCardsPlayed());
 | 
			
		||||
 | 
			
		||||
        return message;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This method will be used whenever this state will be entered.
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void enter() {
 | 
			
		||||
        LOGGER.log(System.Logger.Level.DEBUG, "Entered CeremonyState state.");
 | 
			
		||||
        logic.getServerSender().broadcast(createCeremonyMessage());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@
 | 
			
		||||
import pp.mdga.game.Player;
 | 
			
		||||
import pp.mdga.message.client.AnimationEndMessage;
 | 
			
		||||
import pp.mdga.message.server.ActivePlayerMessage;
 | 
			
		||||
import pp.mdga.message.server.CeremonyMessage;
 | 
			
		||||
import pp.mdga.message.server.DiceNowMessage;
 | 
			
		||||
import pp.mdga.message.server.EndOfTurnMessage;
 | 
			
		||||
import pp.mdga.message.server.SpectatorMessage;
 | 
			
		||||
@@ -46,8 +47,14 @@ public void received(AnimationEndMessage msg, int from){
 | 
			
		||||
        finishedAnimations.add(logic.getGame().getPlayerById(from));
 | 
			
		||||
        if (finishedAnimations.size() == logic.getGame().getPlayers().size()) {
 | 
			
		||||
            if (logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).isFinished()){
 | 
			
		||||
                logic.getGame().getPlayerRanking().put(logic.getGame().getPlayerRanking().size(), logic.getGame().getActivePlayer());
 | 
			
		||||
                logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new SpectatorMessage());
 | 
			
		||||
                setActivePlayer(logic.getGame().getActiveColor());
 | 
			
		||||
                if (logic.getGame().getPlayerRanking().size() == logic.getGame().getPlayers().size() - 1){
 | 
			
		||||
                    logic.getGame().getPlayerRanking().put(logic.getGame().getPlayerRanking().size(), logic.getGame().getActivePlayer());
 | 
			
		||||
                    logic.setCurrentState(logic.getCeremonyState());
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                this.turnAutomaton.getGameAutomaton().setCurrentState(this.turnAutomaton.getGameAutomaton().getTurnState());
 | 
			
		||||
            } else if (logic.getGame().getDiceEyes() == 6){
 | 
			
		||||
                logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new DiceNowMessage());
 | 
			
		||||
 
 | 
			
		||||
@@ -49,6 +49,8 @@ public void exit() {
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void received(AnimationEndMessage msg, int from) {
 | 
			
		||||
        logic.getGame().getActivePlayer().getPlayerStatistic().increaseCardsPlayed();
 | 
			
		||||
        logic.getGame().getGameStatistics().increaseCardsPlayed();
 | 
			
		||||
        this.messageReceived.add(from);
 | 
			
		||||
        if (this.messageReceived.size() == this.logic.getGame().getPlayers().size()) {
 | 
			
		||||
            this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new DiceNowMessage());
 | 
			
		||||
 
 | 
			
		||||
@@ -63,10 +63,11 @@ public void received(RequestMoveMessage msg, int from) {
 | 
			
		||||
        if (!moveablePieces.contains(msg.getPiece())) {
 | 
			
		||||
            throw new RuntimeException("invalid Piece");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        int indexOfPiece = moveablePieces.indexOf(msg.getPiece());
 | 
			
		||||
        int steps = logic.getGame().getDiceModifier() * logic.getGame().getDiceEyes();
 | 
			
		||||
        Piece piece = moveablePieces.get(indexOfPiece);
 | 
			
		||||
        logic.getGame().getActivePlayer().getPlayerStatistic().increaseTraveledNodes(calculateTargetIndex(piece));
 | 
			
		||||
        logic.getGame().getGameStatistics().increaseTraveledNodes(calculateTargetIndex(piece));
 | 
			
		||||
        if (canPieceMoveInHome(piece, steps)) {
 | 
			
		||||
            if (piece.getState().equals(PieceState.HOME)) {
 | 
			
		||||
                //gets the oldNode
 | 
			
		||||
@@ -115,6 +116,10 @@ public void received(RequestMoveMessage msg, int from) {
 | 
			
		||||
 | 
			
		||||
            Piece occ = targetNode.getOccupant();
 | 
			
		||||
            if (occ != null) {
 | 
			
		||||
                logic.getGame().getActivePlayer().getPlayerStatistic().increasePiecesThrown();
 | 
			
		||||
                logic.getGame().getGameStatistics().increasePiecesThrown();
 | 
			
		||||
                logic.getGame().getPlayerByColor(occ.getColor()).getPlayerStatistic().increasePiecesBeingThrown();
 | 
			
		||||
                logic.getGame().getGameStatistics().increasePiecesBeingThrown();
 | 
			
		||||
                logic.getGame().getPlayerByColor(occ.getColor()).addWaitingPiece(occ);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@@ -135,6 +140,8 @@ public void received(RequestMoveMessage msg, int from) {
 | 
			
		||||
        logic.getServerSender().broadcast(new MoveMessage(piece, homeMove, targIdx));
 | 
			
		||||
 | 
			
		||||
        if (targetNode.isBonus()) {
 | 
			
		||||
            logic.getGame().getActivePlayer().getPlayerStatistic().increaseActivatedBonusNodes();
 | 
			
		||||
            logic.getGame().getGameStatistics().increaseActivatedBonusNodes();
 | 
			
		||||
            for (Player p : logic.getGame().getPlayersAsList()) {
 | 
			
		||||
                if (p.getColor() == logic.getGame().getActiveColor()) {
 | 
			
		||||
                    PowerCard cardToDraw = logic.getGame().draw();
 | 
			
		||||
 
 | 
			
		||||
@@ -46,6 +46,8 @@ public void received(RequestMoveMessage msg, int from) {
 | 
			
		||||
        if (piece.equals(msg.getPiece())) {
 | 
			
		||||
            int targetIndex = calculateTargetIndex(piece);
 | 
			
		||||
            Node targetNode = logic.getGame().getBoard().getInfield()[targetIndex];
 | 
			
		||||
            logic.getGame().getActivePlayer().getPlayerStatistic().increaseTraveledNodes(calculateTargetIndex(piece));
 | 
			
		||||
            logic.getGame().getGameStatistics().increaseTraveledNodes(calculateTargetIndex(piece));
 | 
			
		||||
 | 
			
		||||
            //send MoveMessage
 | 
			
		||||
            logic.getServerSender().broadcast(new MoveMessage(piece, false, targetIndex));
 | 
			
		||||
@@ -55,6 +57,10 @@ public void received(RequestMoveMessage msg, int from) {
 | 
			
		||||
 | 
			
		||||
            Piece occ = targetNode.getOccupant();
 | 
			
		||||
            if (occ != null) {
 | 
			
		||||
                logic.getGame().getActivePlayer().getPlayerStatistic().increasePiecesThrown();
 | 
			
		||||
                logic.getGame().getGameStatistics().increasePiecesThrown();
 | 
			
		||||
                logic.getGame().getPlayerByColor(occ.getColor()).getPlayerStatistic().increasePiecesBeingThrown();
 | 
			
		||||
                logic.getGame().getGameStatistics().increasePiecesBeingThrown();
 | 
			
		||||
                //move occ to waiting
 | 
			
		||||
                logic.getGame().getPlayerByColor(occ.getColor()).addWaitingPiece(occ);
 | 
			
		||||
            }
 | 
			
		||||
@@ -62,6 +68,8 @@ public void received(RequestMoveMessage msg, int from) {
 | 
			
		||||
            targetNode.setOccupant(piece);
 | 
			
		||||
 | 
			
		||||
            if (targetNode.isBonus()) {
 | 
			
		||||
                logic.getGame().getActivePlayer().getPlayerStatistic().increaseActivatedBonusNodes();
 | 
			
		||||
                logic.getGame().getGameStatistics().increaseActivatedBonusNodes();
 | 
			
		||||
                for (Player p : logic.getGame().getPlayersAsList()) {
 | 
			
		||||
                    if (p.getColor() == logic.getGame().getActiveColor()) {
 | 
			
		||||
                        PowerCard cardToDraw = logic.getGame().draw();
 | 
			
		||||
 
 | 
			
		||||
@@ -44,6 +44,10 @@ public void received(RequestMoveMessage msg, int from){
 | 
			
		||||
            piece.setState(PieceState.ACTIVE);
 | 
			
		||||
            Piece thrownOcc = logic.getGame().getBoard().getInfield()[logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getStartNodeIndex()].getOccupant();
 | 
			
		||||
            if (thrownOcc != null) {
 | 
			
		||||
                logic.getGame().getActivePlayer().getPlayerStatistic().increasePiecesThrown();
 | 
			
		||||
                logic.getGame().getGameStatistics().increasePiecesThrown();
 | 
			
		||||
                logic.getGame().getPlayerByColor(thrownOcc.getColor()).getPlayerStatistic().increasePiecesBeingThrown();
 | 
			
		||||
                logic.getGame().getGameStatistics().increasePiecesBeingThrown();
 | 
			
		||||
                logic.getGame().getPlayerByColor(thrownOcc.getColor()).addWaitingPiece(thrownOcc);
 | 
			
		||||
            }
 | 
			
		||||
            logic.getGame().getBoard().getInfield()[logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getStartNodeIndex()].setOccupant(this.piece);
 | 
			
		||||
 
 | 
			
		||||
@@ -63,6 +63,10 @@ public void exit() {
 | 
			
		||||
    public void received(RequestDieMessage msg, int from) {
 | 
			
		||||
        roll = this.logic.getGame().getDie().shuffle();
 | 
			
		||||
        this.logic.getGame().setDiceEyes(roll);
 | 
			
		||||
        if (roll == Resources.MAX_EYES) {
 | 
			
		||||
            logic.getGame().getActivePlayer().getPlayerStatistic().increaseDiced6();
 | 
			
		||||
            logic.getGame().getGameStatistics().increaseDiced6();
 | 
			
		||||
        }
 | 
			
		||||
        this.logic.getServerSender().broadcast(new DieMessage(roll));
 | 
			
		||||
        isDied = true;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package pp.mdga.server.automaton.game.turn.rolldice;
 | 
			
		||||
 | 
			
		||||
import pp.mdga.Resources;
 | 
			
		||||
import pp.mdga.message.client.AnimationEndMessage;
 | 
			
		||||
import pp.mdga.message.client.RequestDieMessage;
 | 
			
		||||
import pp.mdga.message.server.ChoosePieceStateMessage;
 | 
			
		||||
@@ -47,6 +48,10 @@ public void exit() {
 | 
			
		||||
    public void received(RequestDieMessage msg, int from) {
 | 
			
		||||
        int roll = this.logic.getGame().getDie().shuffle();
 | 
			
		||||
        this.logic.getGame().setDiceEyes(roll);
 | 
			
		||||
        if (roll == Resources.MAX_EYES) {
 | 
			
		||||
            logic.getGame().getActivePlayer().getPlayerStatistic().increaseDiced6();
 | 
			
		||||
            logic.getGame().getGameStatistics().increaseDiced6();
 | 
			
		||||
        }
 | 
			
		||||
        this.logic.getServerSender().broadcast(new DieMessage(roll));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package pp.mdga.server.automaton.game.turn.rolldice;
 | 
			
		||||
 | 
			
		||||
import pp.mdga.Resources;
 | 
			
		||||
import pp.mdga.message.client.AnimationEndMessage;
 | 
			
		||||
import pp.mdga.message.client.RequestDieMessage;
 | 
			
		||||
import pp.mdga.message.server.*;
 | 
			
		||||
@@ -44,6 +45,10 @@ public void exit() {
 | 
			
		||||
    public void received(RequestDieMessage msg, int from) {
 | 
			
		||||
        int roll = this.logic.getGame().getDie().shuffle();
 | 
			
		||||
        this.logic.getGame().setDiceEyes(roll);
 | 
			
		||||
        if (roll == Resources.MAX_EYES) {
 | 
			
		||||
            logic.getGame().getActivePlayer().getPlayerStatistic().increaseDiced6();
 | 
			
		||||
            logic.getGame().getGameStatistics().increaseDiced6();
 | 
			
		||||
        }
 | 
			
		||||
        this.logic.getServerSender().broadcast(new DieMessage(roll));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user