added Ceremony integration
This commit is contained in:
@@ -257,33 +257,4 @@ public void selectNext(){
|
|||||||
public void selectResume(){
|
public void selectResume(){
|
||||||
LOGGER.log(Level.DEBUG, "Resume not allowed");
|
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.client.LeaveGameMessage;
|
||||||
import pp.mdga.message.server.*;
|
import pp.mdga.message.server.*;
|
||||||
import pp.mdga.notification.AcquireCardNotification;
|
import pp.mdga.notification.AcquireCardNotification;
|
||||||
|
import pp.mdga.notification.CeremonyNotification;
|
||||||
import pp.mdga.notification.DrawCardNotification;
|
import pp.mdga.notification.DrawCardNotification;
|
||||||
import pp.mdga.notification.InterruptNotification;
|
import pp.mdga.notification.InterruptNotification;
|
||||||
import pp.mdga.notification.StartDialogNotification;
|
import pp.mdga.notification.StartDialogNotification;
|
||||||
@@ -208,7 +209,16 @@ public void received(MoveMessage msg){
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void received(CeremonyMessage msg){
|
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());
|
logic.setState(logic.getCeremony());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,6 +80,8 @@ public class Game {
|
|||||||
|
|
||||||
private boolean turboFlag = false;
|
private boolean turboFlag = false;
|
||||||
|
|
||||||
|
private Map<Integer, Player> playerRanking = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This constructor creates a new Game object.
|
* This constructor creates a new Game object.
|
||||||
*/
|
*/
|
||||||
@@ -504,4 +506,12 @@ public void setDiceEyes(int diceEyes) {
|
|||||||
public void setDiceModifier(int diceModifier) {
|
public void setDiceModifier(int diceModifier) {
|
||||||
this.diceModifier = 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;
|
package pp.mdga.message.server;
|
||||||
|
|
||||||
import com.jme3.network.serializing.Serializable;
|
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.
|
* A message sent by the server to indicate the beginning of the ceremony.
|
||||||
*/
|
*/
|
||||||
@Serializable
|
@Serializable
|
||||||
public class CeremonyMessage extends ServerMessage {
|
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.
|
* Constructs a new Ceremony instance.
|
||||||
*/
|
*/
|
||||||
public CeremonyMessage() {
|
public CeremonyMessage() {
|
||||||
super();
|
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;
|
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;
|
import pp.mdga.server.ServerGameLogic;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -20,12 +23,43 @@ public CeremonyState(ServerGameLogic logic) {
|
|||||||
super(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.
|
* This method will be used whenever this state will be entered.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void enter() {
|
public void enter() {
|
||||||
LOGGER.log(System.Logger.Level.DEBUG, "Entered CeremonyState state.");
|
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.game.Player;
|
||||||
import pp.mdga.message.client.AnimationEndMessage;
|
import pp.mdga.message.client.AnimationEndMessage;
|
||||||
import pp.mdga.message.server.ActivePlayerMessage;
|
import pp.mdga.message.server.ActivePlayerMessage;
|
||||||
|
import pp.mdga.message.server.CeremonyMessage;
|
||||||
import pp.mdga.message.server.DiceNowMessage;
|
import pp.mdga.message.server.DiceNowMessage;
|
||||||
import pp.mdga.message.server.EndOfTurnMessage;
|
import pp.mdga.message.server.EndOfTurnMessage;
|
||||||
import pp.mdga.message.server.SpectatorMessage;
|
import pp.mdga.message.server.SpectatorMessage;
|
||||||
@@ -46,8 +47,14 @@ public void received(AnimationEndMessage msg, int from){
|
|||||||
finishedAnimations.add(logic.getGame().getPlayerById(from));
|
finishedAnimations.add(logic.getGame().getPlayerById(from));
|
||||||
if (finishedAnimations.size() == logic.getGame().getPlayers().size()) {
|
if (finishedAnimations.size() == logic.getGame().getPlayers().size()) {
|
||||||
if (logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).isFinished()){
|
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());
|
logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new SpectatorMessage());
|
||||||
setActivePlayer(logic.getGame().getActiveColor());
|
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());
|
this.turnAutomaton.getGameAutomaton().setCurrentState(this.turnAutomaton.getGameAutomaton().getTurnState());
|
||||||
} else if (logic.getGame().getDiceEyes() == 6){
|
} else if (logic.getGame().getDiceEyes() == 6){
|
||||||
logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new DiceNowMessage());
|
logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new DiceNowMessage());
|
||||||
|
|||||||
@@ -49,6 +49,8 @@ public void exit() {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void received(AnimationEndMessage msg, int from) {
|
public void received(AnimationEndMessage msg, int from) {
|
||||||
|
logic.getGame().getActivePlayer().getPlayerStatistic().increaseCardsPlayed();
|
||||||
|
logic.getGame().getGameStatistics().increaseCardsPlayed();
|
||||||
this.messageReceived.add(from);
|
this.messageReceived.add(from);
|
||||||
if (this.messageReceived.size() == this.logic.getGame().getPlayers().size()) {
|
if (this.messageReceived.size() == this.logic.getGame().getPlayers().size()) {
|
||||||
this.logic.getServerSender().send(this.logic.getGame().getActivePlayerId(), new DiceNowMessage());
|
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())) {
|
if (!moveablePieces.contains(msg.getPiece())) {
|
||||||
throw new RuntimeException("invalid Piece");
|
throw new RuntimeException("invalid Piece");
|
||||||
}
|
}
|
||||||
|
|
||||||
int indexOfPiece = moveablePieces.indexOf(msg.getPiece());
|
int indexOfPiece = moveablePieces.indexOf(msg.getPiece());
|
||||||
int steps = logic.getGame().getDiceModifier() * logic.getGame().getDiceEyes();
|
int steps = logic.getGame().getDiceModifier() * logic.getGame().getDiceEyes();
|
||||||
Piece piece = moveablePieces.get(indexOfPiece);
|
Piece piece = moveablePieces.get(indexOfPiece);
|
||||||
|
logic.getGame().getActivePlayer().getPlayerStatistic().increaseTraveledNodes(calculateTargetIndex(piece));
|
||||||
|
logic.getGame().getGameStatistics().increaseTraveledNodes(calculateTargetIndex(piece));
|
||||||
if (canPieceMoveInHome(piece, steps)) {
|
if (canPieceMoveInHome(piece, steps)) {
|
||||||
if (piece.getState().equals(PieceState.HOME)) {
|
if (piece.getState().equals(PieceState.HOME)) {
|
||||||
//gets the oldNode
|
//gets the oldNode
|
||||||
@@ -115,6 +116,10 @@ public void received(RequestMoveMessage msg, int from) {
|
|||||||
|
|
||||||
Piece occ = targetNode.getOccupant();
|
Piece occ = targetNode.getOccupant();
|
||||||
if (occ != null) {
|
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);
|
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));
|
logic.getServerSender().broadcast(new MoveMessage(piece, homeMove, targIdx));
|
||||||
|
|
||||||
if (targetNode.isBonus()) {
|
if (targetNode.isBonus()) {
|
||||||
|
logic.getGame().getActivePlayer().getPlayerStatistic().increaseActivatedBonusNodes();
|
||||||
|
logic.getGame().getGameStatistics().increaseActivatedBonusNodes();
|
||||||
for (Player p : logic.getGame().getPlayersAsList()) {
|
for (Player p : logic.getGame().getPlayersAsList()) {
|
||||||
if (p.getColor() == logic.getGame().getActiveColor()) {
|
if (p.getColor() == logic.getGame().getActiveColor()) {
|
||||||
PowerCard cardToDraw = logic.getGame().draw();
|
PowerCard cardToDraw = logic.getGame().draw();
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ public void received(RequestMoveMessage msg, int from) {
|
|||||||
if (piece.equals(msg.getPiece())) {
|
if (piece.equals(msg.getPiece())) {
|
||||||
int targetIndex = calculateTargetIndex(piece);
|
int targetIndex = calculateTargetIndex(piece);
|
||||||
Node targetNode = logic.getGame().getBoard().getInfield()[targetIndex];
|
Node targetNode = logic.getGame().getBoard().getInfield()[targetIndex];
|
||||||
|
logic.getGame().getActivePlayer().getPlayerStatistic().increaseTraveledNodes(calculateTargetIndex(piece));
|
||||||
|
logic.getGame().getGameStatistics().increaseTraveledNodes(calculateTargetIndex(piece));
|
||||||
|
|
||||||
//send MoveMessage
|
//send MoveMessage
|
||||||
logic.getServerSender().broadcast(new MoveMessage(piece, false, targetIndex));
|
logic.getServerSender().broadcast(new MoveMessage(piece, false, targetIndex));
|
||||||
@@ -55,6 +57,10 @@ public void received(RequestMoveMessage msg, int from) {
|
|||||||
|
|
||||||
Piece occ = targetNode.getOccupant();
|
Piece occ = targetNode.getOccupant();
|
||||||
if (occ != null) {
|
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
|
//move occ to waiting
|
||||||
logic.getGame().getPlayerByColor(occ.getColor()).addWaitingPiece(occ);
|
logic.getGame().getPlayerByColor(occ.getColor()).addWaitingPiece(occ);
|
||||||
}
|
}
|
||||||
@@ -62,6 +68,8 @@ public void received(RequestMoveMessage msg, int from) {
|
|||||||
targetNode.setOccupant(piece);
|
targetNode.setOccupant(piece);
|
||||||
|
|
||||||
if (targetNode.isBonus()) {
|
if (targetNode.isBonus()) {
|
||||||
|
logic.getGame().getActivePlayer().getPlayerStatistic().increaseActivatedBonusNodes();
|
||||||
|
logic.getGame().getGameStatistics().increaseActivatedBonusNodes();
|
||||||
for (Player p : logic.getGame().getPlayersAsList()) {
|
for (Player p : logic.getGame().getPlayersAsList()) {
|
||||||
if (p.getColor() == logic.getGame().getActiveColor()) {
|
if (p.getColor() == logic.getGame().getActiveColor()) {
|
||||||
PowerCard cardToDraw = logic.getGame().draw();
|
PowerCard cardToDraw = logic.getGame().draw();
|
||||||
|
|||||||
@@ -44,6 +44,10 @@ public void received(RequestMoveMessage msg, int from){
|
|||||||
piece.setState(PieceState.ACTIVE);
|
piece.setState(PieceState.ACTIVE);
|
||||||
Piece thrownOcc = logic.getGame().getBoard().getInfield()[logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getStartNodeIndex()].getOccupant();
|
Piece thrownOcc = logic.getGame().getBoard().getInfield()[logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getStartNodeIndex()].getOccupant();
|
||||||
if (thrownOcc != null) {
|
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().getPlayerByColor(thrownOcc.getColor()).addWaitingPiece(thrownOcc);
|
||||||
}
|
}
|
||||||
logic.getGame().getBoard().getInfield()[logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).getStartNodeIndex()].setOccupant(this.piece);
|
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) {
|
public void received(RequestDieMessage msg, int from) {
|
||||||
roll = this.logic.getGame().getDie().shuffle();
|
roll = this.logic.getGame().getDie().shuffle();
|
||||||
this.logic.getGame().setDiceEyes(roll);
|
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));
|
this.logic.getServerSender().broadcast(new DieMessage(roll));
|
||||||
isDied = true;
|
isDied = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package pp.mdga.server.automaton.game.turn.rolldice;
|
package pp.mdga.server.automaton.game.turn.rolldice;
|
||||||
|
|
||||||
|
import pp.mdga.Resources;
|
||||||
import pp.mdga.message.client.AnimationEndMessage;
|
import pp.mdga.message.client.AnimationEndMessage;
|
||||||
import pp.mdga.message.client.RequestDieMessage;
|
import pp.mdga.message.client.RequestDieMessage;
|
||||||
import pp.mdga.message.server.ChoosePieceStateMessage;
|
import pp.mdga.message.server.ChoosePieceStateMessage;
|
||||||
@@ -47,6 +48,10 @@ public void exit() {
|
|||||||
public void received(RequestDieMessage msg, int from) {
|
public void received(RequestDieMessage msg, int from) {
|
||||||
int roll = this.logic.getGame().getDie().shuffle();
|
int roll = this.logic.getGame().getDie().shuffle();
|
||||||
this.logic.getGame().setDiceEyes(roll);
|
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));
|
this.logic.getServerSender().broadcast(new DieMessage(roll));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package pp.mdga.server.automaton.game.turn.rolldice;
|
package pp.mdga.server.automaton.game.turn.rolldice;
|
||||||
|
|
||||||
|
import pp.mdga.Resources;
|
||||||
import pp.mdga.message.client.AnimationEndMessage;
|
import pp.mdga.message.client.AnimationEndMessage;
|
||||||
import pp.mdga.message.client.RequestDieMessage;
|
import pp.mdga.message.client.RequestDieMessage;
|
||||||
import pp.mdga.message.server.*;
|
import pp.mdga.message.server.*;
|
||||||
@@ -44,6 +45,10 @@ public void exit() {
|
|||||||
public void received(RequestDieMessage msg, int from) {
|
public void received(RequestDieMessage msg, int from) {
|
||||||
int roll = this.logic.getGame().getDie().shuffle();
|
int roll = this.logic.getGame().getDie().shuffle();
|
||||||
this.logic.getGame().setDiceEyes(roll);
|
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));
|
this.logic.getServerSender().broadcast(new DieMessage(roll));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user