diff --git a/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java b/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java index f63edfaf..b2a733f6 100644 --- a/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java +++ b/Projekte/mdga/client/src/main/java/pp/mdga/client/NotificationSynchronizer.java @@ -61,6 +61,8 @@ private void handleLobby(Notification notification) { if (notification instanceof TskSelectNotification n) { lobbyView.setTaken(n.getColor(), true, n.isSelf(), n.getName()); lobbyView.setTaken(n.getColor(), true, false, n.getName()); + } else if (notification instanceof StartDialogNotification) { + app.enter(MdgaState.MAIN); } else if (notification instanceof TskUnselectNotification n) { lobbyView.setTaken(n.getColor(), false, false, null); } else if(notification instanceof LobbyReadyNotification lobbyReadyNotification) { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java index 9064fee0..d310436e 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java @@ -12,6 +12,7 @@ import pp.mdga.message.server.UpdateReadyMessage; import pp.mdga.message.server.UpdateTSKMessage; import pp.mdga.notification.LobbyReadyNotification; +import pp.mdga.notification.StartDialogNotification; import pp.mdga.notification.TskSelectNotification; import pp.mdga.notification.TskUnselectNotification; @@ -36,6 +37,7 @@ public void exit() { @Override public void selectLeave() { parent.setState(parent.getStartDialog()); + logic.addNotification(new StartDialogNotification()); logic.send(new LeaveGameMessage()); } @@ -72,6 +74,7 @@ public void selectStart(){ @Override public void received(ServerStartGameMessage msg){ + parent.startGame(); } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/CeremonyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/CeremonyState.java index 42a48d68..4b424aa9 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/CeremonyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/CeremonyState.java @@ -33,6 +33,6 @@ public void enter() { */ @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited CeremonyState state."); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/GameState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/GameState.java index 5d0830f4..10045e97 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/GameState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/GameState.java @@ -55,7 +55,7 @@ public void enter() { */ @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited GameState state."); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/InterruptState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/InterruptState.java index 1a3ed72d..08d7ac53 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/InterruptState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/InterruptState.java @@ -41,7 +41,7 @@ public void enter() { */ @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited InterruptState state."); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java index c1687463..d38e7884 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java @@ -40,7 +40,7 @@ public void enter() { */ @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited LobbyState state."); } /** @@ -55,7 +55,9 @@ public void received(JoinedLobbyMessage msg, int from) { Player player = new Player(msg.getName()); player.setColor(Color.getColorByIndex(this.logic.getGame().getPlayers().size())); this.logic.getGame().addPlayer(from, player); - this.logic.getServerSender().broadcast(new LobbyPlayerJoinedMessage(from, player)); + for (Map.Entry entry: this.logic.getGame().getPlayers().entrySet()) { + this.logic.getServerSender().broadcast(new LobbyPlayerJoinedMessage(entry.getKey(), entry.getValue())); + } } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java index 2a3db194..8d6661b9 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/AnimationState.java @@ -10,6 +10,11 @@ * */ public class AnimationState extends GameAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(AnimationState.class.getName()); + /** * Constructs a server state of the specified game logic. * @@ -22,12 +27,12 @@ public AnimationState(GameState gameAutomaton, ServerGameLogic logic) { @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered AnimationState state."); } @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited AnimationState state."); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/DetermineStartPlayerState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/DetermineStartPlayerState.java index c72fdfb7..f6294206 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/DetermineStartPlayerState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/DetermineStartPlayerState.java @@ -5,6 +5,7 @@ import pp.mdga.message.server.DieMessage; import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.GameState; +import pp.mdga.server.automaton.game.turn.RollDiceState; import java.util.HashMap; import java.util.Map; @@ -12,6 +13,11 @@ import java.util.stream.Collectors; public class DetermineStartPlayerState extends GameAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(DetermineStartPlayerState.class.getName()); + /** * Create DetermineStartPlayerState attributes. */ @@ -29,12 +35,12 @@ public DetermineStartPlayerState(GameState gameAutomaton, ServerGameLogic logic) @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered DetermineStartPlayerState state."); } @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited DetermineStartPlayerState state."); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/TurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/TurnState.java index 7f5c58a5..8a8c0f2c 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/TurnState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/TurnState.java @@ -9,6 +9,10 @@ * It will also be used as the turn automaton. */ public class TurnState extends GameAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(TurnState.class.getName()); /** * Create TurnState states. */ @@ -36,12 +40,12 @@ public TurnState(GameState gameAutomaton, ServerGameLogic logic) { @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered TurnState state."); } @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited TurnState state."); } /** diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/ChoosePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/ChoosePieceState.java index 768360c3..63479370 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/ChoosePieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/ChoosePieceState.java @@ -2,8 +2,24 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.TurnState; +import pp.mdga.server.automaton.game.turn.choosepiece.*; public class ChoosePieceState extends TurnAutomatonState { + /** + * Create LobbyState constants. + */ + private static final System.Logger LOGGER = System.getLogger(ChoosePieceState.class.getName()); + + /** + * Create ChoosePieceState attributes. + */ + private ChoosePieceAutomatonState currentState; + private final NoPieceState noPieceState; + private final NoTurnState noTurnState; + private final WaitingPieceState waitingPieceState; + private final StartPieceState startPieceState; + private final SelectPieceState selectPieceState; + /** * Constructs a server state of the specified game logic. * @@ -12,15 +28,89 @@ public class ChoosePieceState extends TurnAutomatonState { */ public ChoosePieceState(TurnState turnAutomaton, ServerGameLogic logic) { super(turnAutomaton, logic); + this.noPieceState = new NoPieceState(this, logic); + this.noTurnState = new NoTurnState(this, logic); + this.waitingPieceState = new WaitingPieceState(this, logic); + this.startPieceState = new StartPieceState(this, logic); + this.selectPieceState = new SelectPieceState(this, logic); + this.setCurrentState(this.noPieceState); } @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited ChoosePieceState state."); } @Override public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered ChoosePieceState state."); + } + /** + * This method will be used to return currentState attribute of ChoosePieceState class. + * + * @return currentState as a ChoosePieceAutomatonState object. + */ + public ChoosePieceAutomatonState getCurrentState() { + return this.currentState; + } + + /** + * This method will be used to return noPieceState attribute of ChoosePieceState class. + * + * @return noPieceState as a NoOPieceState object. + */ + public NoPieceState getNoPieceState() { + return this.noPieceState; + } + + /** + * This method will be used to return noTurnState attribute of ChoosePieceState class. + * + * @return noTurnState as a NoTurnState object. + */ + public NoTurnState getNoTurnState() { + return this.noTurnState; + } + + /** + * This method will be used to return waitingPieceState attribute of ChoosePieceState class. + * + * @return waitingPieceState as a WaitingPieceState object. + */ + public WaitingPieceState getWaitingPieceState() { + return this.waitingPieceState; + } + + /** + * This method will be used to return startPieceState attribute of ChoosePieceState class. + * + * @return startPieceState as a StartPieceState object. + */ + public StartPieceState getStartPieceState() { + return this.startPieceState; + } + + /** + * This method will be used to return selectPieceState attribute of ChoosePieceState class. + * + * @return selectPieceState as a SelectPieceState object. + */ + public SelectPieceState getSelectPieceState() { + return this.selectPieceState; + } + + /** + * This method will be used to set currentState attribute of ChoosePieceState class to the given state parameter. + * In Addition, the currentState will be exited, changed and entered. + * + * @param state as the new currentState attribute as a ChoosePieceAutomatonState object. + */ + public void setCurrentState(ChoosePieceAutomatonState state) { + if (this.currentState != null) { + this.currentState.exit(); + } + this.currentState = state; + this.currentState.enter(); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java index cede3202..ab9d8507 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/MovePieceState.java @@ -4,6 +4,10 @@ import pp.mdga.server.automaton.game.TurnState; public class MovePieceState extends TurnAutomatonState { + /** + * Create LobbyState constants. + */ + private static final System.Logger LOGGER = System.getLogger(MovePieceState.class.getName()); /** * Constructs a server state of the specified game logic. @@ -17,11 +21,11 @@ public MovePieceState(TurnState turnAutomaton, ServerGameLogic logic) { @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered MovePieceState state."); } @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited MovePieceState state."); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PlayPowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PlayPowerCardState.java index b4b05a5d..1a40bf37 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PlayPowerCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PlayPowerCardState.java @@ -1,9 +1,15 @@ package pp.mdga.server.automaton.game.turn; import pp.mdga.server.ServerGameLogic; +import pp.mdga.server.automaton.game.AnimationState; import pp.mdga.server.automaton.game.TurnState; public class PlayPowerCardState extends TurnAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(PlayPowerCardState.class.getName()); + /** * Constructs a server state of the specified game logic. * @@ -16,11 +22,11 @@ public PlayPowerCardState(TurnState turnAutomaton, ServerGameLogic logic) { @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered PlayPowerCardState state."); } @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited PlayPowerCardState state."); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PowerCardState.java index 19d9d5b3..9f8e7ee0 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PowerCardState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/PowerCardState.java @@ -1,9 +1,15 @@ package pp.mdga.server.automaton.game.turn; import pp.mdga.server.ServerGameLogic; +import pp.mdga.server.automaton.game.AnimationState; import pp.mdga.server.automaton.game.TurnState; public class PowerCardState extends TurnAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(PowerCardState.class.getName()); + /** * Constructs a server state of the specified game logic. * @@ -16,11 +22,11 @@ public PowerCardState(TurnState turnAutomaton, ServerGameLogic logic) { @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Exited PowerCardState state."); } @Override public void exit() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered PowerCardState state."); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/RollDiceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/RollDiceState.java index cf9648c2..0d4fd1e8 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/RollDiceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/RollDiceState.java @@ -2,8 +2,25 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.TurnState; +import pp.mdga.server.automaton.game.turn.rolldice.FirstRollState; +import pp.mdga.server.automaton.game.turn.rolldice.RollDiceAutomatonState; +import pp.mdga.server.automaton.game.turn.rolldice.SecondRollState; +import pp.mdga.server.automaton.game.turn.rolldice.ThirdRollState; public class RollDiceState extends TurnAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(RollDiceState.class.getName()); + + /** + * Create RollDiceState attributes. + */ + private RollDiceAutomatonState currentState; + private final FirstRollState firstRollState; + private final SecondRollState secondRollState; + private final ThirdRollState thirdRollState; + /** * Constructs a server state of the specified game logic. * @@ -12,15 +29,69 @@ public class RollDiceState extends TurnAutomatonState { */ public RollDiceState(TurnState turnAutomaton, ServerGameLogic logic) { super(turnAutomaton, logic); + this.firstRollState = new FirstRollState(this, logic); + this.secondRollState = new SecondRollState(this, logic); + this.thirdRollState = new ThirdRollState(this, logic); + this.setCurrentState(this.firstRollState); } @Override public void enter() { - + LOGGER.log(System.Logger.Level.DEBUG, "Entered RollDiceState state."); } @Override public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited RollDiceState state."); + } + /** + * This method will be used to return currentState attribute of RollDiceState class. + * + * @return currentState as a RollDiceAutomatonState object. + */ + public RollDiceAutomatonState getCurrentState() { + return this.currentState; + } + + /** + * This method will be used to return firstRollState attribute of RollDiceState class. + * + * @return firstRollState as a FirstRollState object. + */ + public FirstRollState getFirstRollState() { + return this.firstRollState; + } + + /** + * This method will be used to return secondRollState attribute of RollDiceState class. + * + * @return secondRollState as a SecondRollState object. + */ + public SecondRollState getSecondRollState() { + return this.secondRollState; + } + + /** + * This method will be used to return currentState attribute of RollDiceState class. + * + * @return thirdRollState as a ThirdRollState object. + */ + public ThirdRollState getThirdRollState() { + return this.thirdRollState; + } + + /** + * This method will be used to set currentState attribute of RollDiceState class to the given state parameter. + * In Addition, the currentState will be exited, changed and entered. + * + * @param state as the new currentState attribute as a RollDiceAutomatonState object. + */ + public void setCurrentState(RollDiceAutomatonState state) { + if (this.currentState != null) { + this.currentState.exit(); + } + this.currentState = state; + this.currentState.enter(); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/ChoosePieceAutomatonState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/ChoosePieceAutomatonState.java index 0f701179..ba0e2ede 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/ChoosePieceAutomatonState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/ChoosePieceAutomatonState.java @@ -13,6 +13,7 @@ public abstract class ChoosePieceAutomatonState extends ServerState { /** * Constructs a server state of the specified game logic. * + * @param choosePieceAutomaton as the automaton of the choose piece state as a ChoosePieceState object. * @param logic the game logic */ public ChoosePieceAutomatonState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic) { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java index 57c027f0..584940d1 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoPieceState.java @@ -3,5 +3,35 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.ChoosePieceState; -public class NoPieceState { +public class NoPieceState extends ChoosePieceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(NoPieceState.class.getName()); + + /** + * Constructs a server state of the specified game logic. + * + * @param choosePieceAutomaton as the automaton of the choose piece state as a ChoosePieceState object. + * @param logic the game logic + */ + public NoPieceState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic) { + super(choosePieceAutomaton, logic); + } + + /** + * This method will be used whenever this state will be entered. + */ + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered NoPieceState state."); + } + + /** + * This method will be used whenever this state will be exited. + */ + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited NoPieceState state."); + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java index a9a99841..206ae4db 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/NoTurnState.java @@ -3,5 +3,35 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.ChoosePieceState; -public class NoTurnState { +public class NoTurnState extends ChoosePieceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(NoTurnState.class.getName()); + + /** + * Constructs a server state of the specified game logic. + * + * @param choosePieceAutomaton as the automaton of the choose piece state as a ChoosePieceState object. + * @param logic the game logic + */ + public NoTurnState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic) { + super(choosePieceAutomaton, logic); + } + + /** + * This method will be used whenever this state will be entered. + */ + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered NoTurnState state."); + } + + /** + * This method will be used whenever this state will be exited. + */ + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited NoTurnState state."); + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/SelectPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/SelectPieceState.java index dc668f22..c688a40a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/SelectPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/SelectPieceState.java @@ -3,6 +3,35 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.ChoosePieceState; -public class SelectPieceState { +public class SelectPieceState extends ChoosePieceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(SelectPieceState.class.getName()); + /** + * Constructs a server state of the specified game logic. + * + * @param choosePieceAutomaton as the automaton of the choose piece state as a ChoosePieceState object. + * @param logic the game logic + */ + public SelectPieceState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic) { + super(choosePieceAutomaton, logic); + } + + /** + * This method will be used whenever this state will be entered. + */ + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered SelectPieceState state."); + } + + /** + * This method will be used whenever this state will be exited. + */ + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited SelectPieceState state."); + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/StartPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/StartPieceState.java index df3771c2..6b2be8ac 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/StartPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/StartPieceState.java @@ -3,5 +3,35 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.ChoosePieceState; -public class StartPieceState { +public class StartPieceState extends ChoosePieceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(StartPieceState.class.getName()); + + /** + * Constructs a server state of the specified game logic. + * + * @param choosePieceAutomaton as the automaton of the choose piece state as a ChoosePieceState object. + * @param logic the game logic + */ + public StartPieceState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic) { + super(choosePieceAutomaton, logic); + } + + /** + * This method will be used whenever this state will be entered. + */ + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited StartPieceState state."); + } + + /** + * This method will be used whenever this state will be exited. + */ + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered StartPieceState state."); + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java index 0ee99927..ff3dc0ca 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/choosepiece/WaitingPieceState.java @@ -2,6 +2,37 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.ChoosePieceState; +import pp.mdga.server.automaton.game.turn.rolldice.FirstRollState; -public class WaitingPieceState { +public class WaitingPieceState extends ChoosePieceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(WaitingPieceState.class.getName()); + + /** + * Constructs a server state of the specified game logic. + * + * @param choosePieceAutomaton as the automaton of the choose piece state as a ChoosePieceState object. + * @param logic the game logic + */ + public WaitingPieceState(ChoosePieceState choosePieceAutomaton, ServerGameLogic logic) { + super(choosePieceAutomaton, logic); + } + + /** + * This method will be used whenever this state will be entered. + */ + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered WaitingPieceState state."); + } + + /** + * This method will be used whenever this state will be exited. + */ + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited WaitingPieceState state."); + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java index 6fed272d..09fe1093 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/FirstRollState.java @@ -26,6 +26,6 @@ public void enter() { @Override public void exit() { - LOGGER.log(System.Logger.Level.DEBUG, "Exited FirstRollStatte state."); + LOGGER.log(System.Logger.Level.DEBUG, "Exited FirstRollState state."); } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/RollDiceAutomatonState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/RollDiceAutomatonState.java index ae31094f..d5dc622a 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/RollDiceAutomatonState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/RollDiceAutomatonState.java @@ -13,7 +13,8 @@ public abstract class RollDiceAutomatonState extends ServerState { /** * Constructs a server state of the specified game logic. * - * @param logic the game logic + * @param rollDiceAutomaton as the automaton of the roll dice state as a RollDiceState object. + * @param logic the game logic */ public RollDiceAutomatonState(RollDiceState rollDiceAutomaton, ServerGameLogic logic) { super(logic); diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java index 095872b8..e41eac29 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/SecondRollState.java @@ -3,5 +3,29 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.RollDiceState; -public class SecondRollState { +public class SecondRollState extends RollDiceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(SecondRollState.class.getName()); + + /** + * Constructs a server state of the specified game logic. + * + * @param rollDiceAutomaton as the automaton of the roll dice state as a RollDiceState object. + * @param logic the game logic + */ + public SecondRollState(RollDiceState rollDiceAutomaton, ServerGameLogic logic) { + super(rollDiceAutomaton, logic); + } + + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered SecondRollState state."); + } + + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited SecondRollState state."); + } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java index 7be9dced..f736ee46 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java +++ b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/game/turn/rolldice/ThirdRollState.java @@ -3,5 +3,29 @@ import pp.mdga.server.ServerGameLogic; import pp.mdga.server.automaton.game.turn.RollDiceState; -public class ThirdRollState { +public class ThirdRollState extends RollDiceAutomatonState { + /** + * Create FirstRollState constants. + */ + private static final System.Logger LOGGER = System.getLogger(ThirdRollState.class.getName()); + + /** + * Constructs a server state of the specified game logic. + * + * @param rollDiceAutomaton as the automaton of the roll dice state as a RollDiceState object. + * @param logic the game logic + */ + public ThirdRollState(RollDiceState rollDiceAutomaton, ServerGameLogic logic) { + super(rollDiceAutomaton, logic); + } + + @Override + public void enter() { + LOGGER.log(System.Logger.Level.DEBUG, "Exited ThirdRollState state."); + } + + @Override + public void exit() { + LOGGER.log(System.Logger.Level.DEBUG, "Entered ThirdRollState state."); + } }