diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Animation.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Animation.java new file mode 100644 index 00000000..73f8f285 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Animation.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Animation extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/AudioSettings.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/AudioSettings.java new file mode 100644 index 00000000..b1eaade6 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/AudioSettings.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class AudioSettings extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Ceremony.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Ceremony.java new file mode 100644 index 00000000..7be5866a --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Ceremony.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class Ceremony extends ClientState { + private final CeremonyStateMachine ceremonyStateMachine = new CeremonyStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/CeremonyStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/CeremonyStateMachine.java new file mode 100644 index 00000000..0449027d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/CeremonyStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class CeremonyStateMachine extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePiece.java new file mode 100644 index 00000000..0b9fd192 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePiece.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class ChoosePiece extends ClientState { + private final ChoosePieceStateMachine choosePieceStateMachine = new ChoosePieceStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePieceStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePieceStateMachine.java new file mode 100644 index 00000000..45c965b6 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePieceStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class ChoosePieceStateMachine extends ClientStateMachine{ +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePowerCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePowerCard.java new file mode 100644 index 00000000..72a8d3d4 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ChoosePowerCard.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class ChoosePowerCard extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientAutomaton.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientAutomaton.java new file mode 100644 index 00000000..f5261224 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientAutomaton.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class ClientAutomaton extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientGameLogic.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientGameLogic.java new file mode 100644 index 00000000..6483e582 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientGameLogic.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class ClientGameLogic { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientState.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientState.java new file mode 100644 index 00000000..9e7c3786 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientState.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public abstract class ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientStateMachine.java new file mode 100644 index 00000000..0c8717e9 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/ClientStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public abstract class ClientStateMachine extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/DetermineStartPlayer.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/DetermineStartPlayer.java new file mode 100644 index 00000000..b12b6a6d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/DetermineStartPlayer.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class DetermineStartPlayer extends ClientState { + private final DetermineStartPlayerStateMachine determineStartPlayerStateMachine = new DetermineStartPlayerStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/DetermineStartPlayerStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/DetermineStartPlayerStateMachine.java new file mode 100644 index 00000000..f8a2aeda --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/DetermineStartPlayerStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class DetermineStartPlayerStateMachine extends ClientStateMachine{ +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Dialogs.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Dialogs.java new file mode 100644 index 00000000..6b144ca8 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Dialogs.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class Dialogs extends ClientState { + private final DialogsStateMachine dialogsStateMachine = new DialogsStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/DialogsStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/DialogsStateMachine.java new file mode 100644 index 00000000..a1097aab --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/DialogsStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class DialogsStateMachine extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/GameState.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/GameState.java new file mode 100644 index 00000000..f4ac25fc --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/GameState.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class GameState extends ClientState { + private final GameStateMachine gameStateMachine = new GameStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/GameStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/GameStateMachine.java new file mode 100644 index 00000000..9686b7e6 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/GameStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class GameStateMachine extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Interrupt.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Interrupt.java new file mode 100644 index 00000000..287363cc --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Interrupt.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Interrupt extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Lobby.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Lobby.java new file mode 100644 index 00000000..a2f0f1c0 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Lobby.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Lobby extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/MainSettings.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/MainSettings.java new file mode 100644 index 00000000..67e641bd --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/MainSettings.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class MainSettings extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/MovePiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/MovePiece.java new file mode 100644 index 00000000..e8c4c60b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/MovePiece.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class MovePiece extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/NetworkDialog.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/NetworkDialog.java new file mode 100644 index 00000000..846a5a02 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/NetworkDialog.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class NetworkDialog extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/NoPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/NoPiece.java new file mode 100644 index 00000000..a52655b3 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/NoPiece.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class NoPiece extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/PlayPowerCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/PlayPowerCard.java new file mode 100644 index 00000000..1d79e516 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/PlayPowerCard.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class PlayPowerCard extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Podium.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Podium.java new file mode 100644 index 00000000..8819183e --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Podium.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Podium extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/PowerCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/PowerCard.java new file mode 100644 index 00000000..2ad3c2d1 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/PowerCard.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class PowerCard extends ClientState { + private final PowerCardStateMachine powerCardStateMachine = new PowerCardStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/PowerCardStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/PowerCardStateMachine.java new file mode 100644 index 00000000..0bb5c60c --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/PowerCardStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class PowerCardStateMachine extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/RollDice.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/RollDice.java new file mode 100644 index 00000000..f1056203 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/RollDice.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class RollDice extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/RollRankingDice.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/RollRankingDice.java new file mode 100644 index 00000000..45871c8d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/RollRankingDice.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class RollRankingDice extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/SelectPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/SelectPiece.java new file mode 100644 index 00000000..083ba28f --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/SelectPiece.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class SelectPiece extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Settings.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Settings.java new file mode 100644 index 00000000..2c118580 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Settings.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class Settings extends ClientState { + private final SettingsStateMachine settingsStateMachine = new SettingsStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/SettingsStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/SettingsStateMachine.java new file mode 100644 index 00000000..e45870dd --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/SettingsStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class SettingsStateMachine extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Shield.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Shield.java new file mode 100644 index 00000000..eaaa67cc --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Shield.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Shield extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Spectator.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Spectator.java new file mode 100644 index 00000000..50fc01f7 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Spectator.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Spectator extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/StartDialog.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/StartDialog.java new file mode 100644 index 00000000..d258c93c --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/StartDialog.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class StartDialog extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/StartPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/StartPiece.java new file mode 100644 index 00000000..1330df6c --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/StartPiece.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class StartPiece extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Statistics.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Statistics.java new file mode 100644 index 00000000..e46a5e1d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Statistics.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Statistics extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Swap.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Swap.java new file mode 100644 index 00000000..60a9d28e --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Swap.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Swap extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Turn.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Turn.java new file mode 100644 index 00000000..db60e158 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Turn.java @@ -0,0 +1,5 @@ +package pp.mdga.client; + +public class Turn extends ClientState { + private final TurnStateMachine turnStateMachine = new TurnStateMachine(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/TurnStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/TurnStateMachine.java new file mode 100644 index 00000000..892cf3e6 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/TurnStateMachine.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class TurnStateMachine extends ClientStateMachine { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/VideoSettings.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/VideoSettings.java new file mode 100644 index 00000000..32d13929 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/VideoSettings.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class VideoSettings extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/WaitRanking.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/WaitRanking.java new file mode 100644 index 00000000..5614da6a --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/WaitRanking.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class WaitRanking extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/Waiting.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/Waiting.java new file mode 100644 index 00000000..4f0d719b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/Waiting.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class Waiting extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/client/WaitingPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/client/WaitingPiece.java new file mode 100644 index 00000000..d07fe63e --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/client/WaitingPiece.java @@ -0,0 +1,4 @@ +package pp.mdga.client; + +public class WaitingPiece extends ClientState { +} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Board.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Board.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/Board.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/Board.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/BonusCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/BonusCard.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/BonusCard.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/BonusCard.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/BonusNode.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/BonusNode.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/BonusNode.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/BonusNode.java diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/game/Color.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Color.java new file mode 100644 index 00000000..99b42856 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/game/Color.java @@ -0,0 +1,9 @@ +package pp.mdga.game; + +public enum Color { + ARMY, + NAVY, + CYBER, + AIRFORCE + +} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Game.java similarity index 52% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/Game.java index b90fa4fe..7807061f 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Game.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/game/Game.java @@ -2,33 +2,35 @@ import java.util.*; +import pp.mdga.server.Observer; + /** * The Game class represents the game state of the Ludo game. * It contains all the information needed to play the game. * The game state is updated by the game logic. */ public class Game { - /** - * Constants. - */ - public static final int AMOUNT_OF_TURBO_CARDS = 16; - public static final int AMOUNT_OF_SHIELD_AND_SWAP_CARDS = 12; - - /** - * Attributes. - */ private int diceModifier = 1; private int diceEyes; - private Map players = new HashMap<>(); + private Map players = new HashMap(); private Statistic gameStatistics; - private List drawPile; - private List discardPile = new ArrayList<>(); + private ArrayList drawPile; + private ArrayList discardPile = new ArrayList<>(); private Board board; private Color activeColor; - private final ArrayList observers = new ArrayList<>(); - private boolean allRanked = false; - private boolean movablePieces = false; - private boolean allReady = false; + private LinkedList order; + private Map playerConnectionID; + + private ArrayList observers = new ArrayList<>(); + private Player startPlayer; + private Boolean gameHasStarted = false; + private Boolean playerHasDisconnected = false; + private Boolean gameIsInterrupted = false; + private Boolean allRanked = false; + private Boolean movablePieces = false; + + private static final int AMOUNT_OF_TURBO_CARDS = 16; + private static final int AMOUNT_OF_SHIELD_AND_SWAP_CARDS = 12; /** * This constructor creates a new Game object. @@ -46,23 +48,223 @@ public Game() { board = new Board(); } + /** + * This method returns the dice modifier. + * + * @return the dice modifier + */ + public int getDiceModifier() { + return diceModifier; + } + + /** + * This method sets the dice modifier. + * + * @param diceModifier the new dice modifier + */ + public void setDiceModifier(int diceModifier) { + this.diceModifier = diceModifier; + } + + /** + * This method returns the dice eyes. + * + * @return the dice eyes + */ + public int getDiceEyes() { + return diceEyes; + } + + /** + * This method sets the dice eyes. + * + * @param diceEyes the new dice eyes + */ + public void setDiceEyes(int diceEyes) { + this.diceEyes = diceEyes; + } + + /** + * This method returns the players. + * + * @return the players + */ + public Map getPlayers() { + return players; + } + + /** + * This method sets the players. + * + * @param players the new players + */ + public void setPlayers(Map players) { + this.players = players; + } + + /** + * This method returns the game statistics. + * + * @return the game statistics + */ + public Statistic getGameStatistics() { + return gameStatistics; + } + + /** + * This method sets the game statistics. + * + * @param gameStatistics the new game statistics + */ + public void setGameStatistics(Statistic gameStatistics) { + this.gameStatistics = gameStatistics; + } + + /** + * This method returns the draw pile. + * + * @return the draw pile + */ + public ArrayList getDrawPile() { + return drawPile; + } + + /** + * This method sets the draw pile. + * + * @param drawPile the new draw pile + */ + public void setDrawPile(ArrayList drawPile) { + this.drawPile = drawPile; + } + + /** + * This method returns the discard pile. + * + * @return the discard pile + */ + public ArrayList getDiscardPile() { + return discardPile; + } + + /** + * This method sets the discard pile. + * + * @param discardPile the new discard pile + */ + public void setDiscardPile(ArrayList discardPile) { + this.discardPile = discardPile; + } + + /** + * This method returns the board. + * + * @return the board + */ + public Board getBoard() { + return board; + } + + /** + * This method sets the board. + * + * @param board the new board + */ + public void setBoard(Board board) { + this.board = board; + } + + /** + * This method returns the active color. + * + * @return the active color + */ + public Color getActiveColor() { + return activeColor; + } + + /** + * This method sets the active color. + * + * @param activeColor the new active color + */ + public void setActiveColor(Color activeColor) { + this.activeColor = activeColor; + } + + /** + * This method returns the order of the players. + * + * @return the order of the players + */ + public LinkedList getOrder() { + return order; + } + + /** + * This method sets the order of the players. + * + * @param order the new order of the players + */ + public void setOrder(LinkedList order) { + this.order = order; + } + + /** + * This method returns the player connection ID. + * + * @return the player connection ID + */ + public Map getPlayerConnectionID() { + return playerConnectionID; + } + + /** + * This method sets the player connection ID. + * + * @param playerConnectionID the new player connection ID + */ + public void setPlayerConnectionID(Map playerConnectionID) { + this.playerConnectionID = playerConnectionID; + } + + /** + * This method sets the player connection ID. + * + * @param color the color of the player + * @param connectionID the new connection ID + */ + public void setPlayerConnectionID(Color color, int connectionID) { + playerConnectionID.put(color, connectionID); + } + + /** + * This method returns the player connection ID. + * + * @param color the color of the player + * @return the player connection ID + */ + public int getPlayerConnectionID(Color color) { + return playerConnectionID.get(color); + } + /** * This method adds a player to the game. * - * @param id the id of the player + * @param color the color of the player * @param player the player to be added */ - public void addPlayer(int id, Player player) { - players.put(id, player); + public void addPlayer(Color color, Player player) { + players.put(color, player); } /** * This method removes a player from the game. * - * @param id the color of the player + * @param color the color of the player */ - public void removePlayer(int id) { - players.remove(id); + public void removePlayer(Color color) { + players.remove(color); } /** @@ -84,145 +286,49 @@ public void removeObserver(Observer observer) { } /** + * This method returns the game has started. * - * @param id - * @param active + * @return the game has started */ - public void updatePlayerActiveState(int id, boolean active) { - this.players.get(id).setActive(active); + public Boolean getGameHasStarted() { + return gameHasStarted; } /** - * This method will be used to return the player which has the given id parameter. + * This method sets the game has started. * - * @param id as the unique id of a player as an Integer. - * @return the player with the given id as a Player object. + * @param gameHasStarted the new game has started */ - public Player getPlayerById(int id) { - return this.players.get(id); + public void setGameHasStarted(Boolean gameHasStarted) { + this.gameHasStarted = gameHasStarted; } /** - * This method will be used to the get the player depending on the given color parameter. + * This method returns the player has disconnected. * - * @param color as the color of the player as a Color enumeration. - * @return the player with the given color as a Player object. + * @return the player has disconnected */ - public Player getPlayerByColor(Color color) { - for (Map.Entry entry : this.players.entrySet()) { - if (entry.getValue().getColor() == color) { - return entry.getValue(); - } - } - - return null; + public Boolean playerHasDisconnected() { + return playerHasDisconnected; } /** - * This method will be used to return the number of active players of this game. + * This method sets the game interruption state. * - * @return activePlayers as an Integer. + * @param gameIsInterrupted the new game interruption state */ - public int getNumberOfActivePlayers() { - int activePlayers = 0; - for (Map.Entry entry : this.players.entrySet()) { - if (entry.getValue().isActive()) { - activePlayers++; - } - } - - return activePlayers; + public void setGameIsInterrupted(Boolean gameIsInterrupted) { + this.gameIsInterrupted = gameIsInterrupted; + if (!gameIsInterrupted) notifyObservers(); } /** - * This method will be used to return a piece based on the identifier. + * This method returns whether the game is interrupted. * - * @return the piece specified by the identifier + * @return true if the game is interrupted, false otherwise */ - public Piece getPieceThroughIdentifier(String identifier){ - String[] parts = identifier.split("-"); - return board.getPlayerData().get(Color.valueOf(parts[0])).getPieces()[Integer.parseInt(parts[1])]; - } - - /** - * This method notifies the observers. - */ - public void notifyObservers() { - for (Observer observer : new ArrayList<>(observers)) { - //TODO: observer.update(); - } - } - - /** - * This method returns the dice modifier. - * - * @return the dice modifier - */ - public int getDiceModifier() { - return diceModifier; - } - - /** - * This method returns the dice eyes. - * - * @return the dice eyes - */ - public int getDiceEyes() { - return diceEyes; - } - - /** - * This method returns the players. - * - * @return the players - */ - public Map getPlayers() { - return players; - } - - /** - * This method returns the game statistics. - * - * @return the game statistics - */ - public Statistic getGameStatistics() { - return gameStatistics; - } - - /** - * This method returns the draw pile. - * - * @return the draw pile - */ - public List getDrawPile() { - return drawPile; - } - - /** - * This method returns the discard pile. - * - * @return the discard pile - */ - public List getDiscardPile() { - return discardPile; - } - - /** - * This method returns the board. - * - * @return the board - */ - public Board getBoard() { - return board; - } - - /** - * This method returns the active color. - * - * @return the active color - */ - public Color getActiveColor() { - return activeColor; + public Boolean gameIsInterrupted() { + return gameIsInterrupted; } /** @@ -234,78 +340,6 @@ public Boolean getMovablePieces() { return movablePieces; } - /** - * This method sets the dice modifier. - * - * @param diceModifier the new dice modifier - */ - public void setDiceModifier(int diceModifier) { - this.diceModifier = diceModifier; - } - - /** - * This method sets the dice eyes. - * - * @param diceEyes the new dice eyes - */ - public void setDiceEyes(int diceEyes) { - this.diceEyes = diceEyes; - } - - /** - * This method sets the players. - * - * @param players the new players - */ - public void setPlayers(Map players) { - this.players = players; - } - - /** - * This method sets the game statistics. - * - * @param gameStatistics the new game statistics - */ - public void setGameStatistics(Statistic gameStatistics) { - this.gameStatistics = gameStatistics; - } - - /** - * This method sets the draw pile. - * - * @param drawPile the new draw pile - */ - public void setDrawPile(List drawPile) { - this.drawPile = drawPile; - } - - /** - * This method sets the discard pile. - * - * @param discardPile the new discard pile - */ - public void setDiscardPile(List discardPile) { - this.discardPile = discardPile; - } - - /** - * This method sets the board. - * - * @param board the new board - */ - public void setBoard(Board board) { - this.board = board; - } - - /** - * This method sets the active color. - * - * @param activeColor the new active color - */ - public void setActiveColor(Color activeColor) { - this.activeColor = activeColor; - } - /** * This method sets the game interruption state. * @@ -313,7 +347,17 @@ public void setActiveColor(Color activeColor) { */ public void setMovablePieces(Boolean movablePieces) { this.movablePieces = movablePieces; - if (Boolean.FALSE.equals(movablePieces)) notifyObservers(); + if (!movablePieces) notifyObservers(); + } + + /** + * This method sets the player has disconnected. + * + * @param playerHasDisconnected the new player has disconnected + */ + public void setPlayerHasDisconnected(Boolean playerHasDisconnected) { + this.playerHasDisconnected = playerHasDisconnected; + if (playerHasDisconnected) notifyObservers(); } /** @@ -332,25 +376,46 @@ public Boolean allRanked() { */ public void setAllRanked(Boolean allRanked) { this.allRanked = allRanked; - if (Boolean.TRUE.equals(allRanked)) notifyObservers(); + if (allRanked) notifyObservers(); } /** - * This method returns the all ready state. + * This method returns the start player. * - * @return the already state + * @return the start player */ - public Boolean allReady() { - return allReady; + public Player getStartPlayer() { + return startPlayer; } /** - * This method sets the all ready state. + * This method sets the start player. * - * @param allReady the new all-ready state + * @param startPlayer the new start player */ - public void setAllReady(Boolean allReady) { - this.allReady = allReady; - if (Boolean.TRUE.equals(allReady)) notifyObservers(); + public void setStartPlayer(Player startPlayer) { + this.startPlayer = startPlayer; + } + + /** + * This method notifies the observers. + */ + public void notifyObservers() { + for (Observer observer : new ArrayList<>(observers)) { + observer.update(); + } + } + + /** + * This method returns the piece through its identifier. + * + * @param identifier the identifier of the piece + * @return the piece + */ + public Piece getPieceThroughIdentifier(String identifier) { + String[] parts = identifier.split("-"); + Color color = Color.valueOf(parts[0]); + int index = Integer.parseInt(parts[1]); + return board.getPlayerData().get(color).getPieces()[index]; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/HomeNode.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/HomeNode.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/HomeNode.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/HomeNode.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Node.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Node.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/Node.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/Node.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Piece.java similarity index 89% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/Piece.java index 02939661..96d4419b 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Piece.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/game/Piece.java @@ -1,7 +1,5 @@ package pp.mdga.game; -import java.util.UUID; - /** * This class will be used to hold all Piece relevant data. */ @@ -10,7 +8,6 @@ public class Piece { private PieceState state; private final Color color; private final int id; - private final UUID uuid = UUID.randomUUID(); /** * This constructor is used to create a new Piece @@ -96,13 +93,4 @@ public Color getColor() { public String getIdentifier() { return color.toString() + "-" + id; } - - /** - * This method is used to get the color of the piece - * - * @return the color of the piece - */ - public UUID getUuid() { - return uuid; - } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/PieceState.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/PieceState.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/PieceState.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/PieceState.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Player.java similarity index 55% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/Player.java index c536438f..e9e16645 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Player.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/game/Player.java @@ -6,31 +6,21 @@ * This class will be used to handle general PlayerData */ public class Player { + private String name; private Statistic playerStatistic; private ArrayList handCards; - private Color color; - private boolean isReady; - private boolean active = true; + private final int id; /** * This constructor constructs a new Player object - * - * @param name the name of the player */ - public Player(String name) { - this.name = name; + public Player(int id) { + this.id = id; playerStatistic = new Statistic(); handCards = new ArrayList<>(); } - /** - * Constructor. - */ - public Player() { - this(""); - } - /** * This method returns the give name of the Player * @@ -72,7 +62,7 @@ public ArrayList getHandCards() { * * @param card the card to be added to the players hand */ - public void addHandCards(BonusCard card) { + public void addHandCards(BonusCard card){ handCards.add(card); } @@ -91,56 +81,11 @@ public BonusCard removeHandCard(BonusCard card) { } /** - * This method returns the color of the player + * Returns the id of the connection to the client represented by this player. * - * @return the color of the player + * @return the id */ - public Color getColor() { - return color; - } - - /** - * This method sets the color of the player - * - * @param color the new color of the player - */ - public void setColor(Color color) { - this.color = color; - } - - /** - * This method returns if the player is ready - * - * @return true if the player is ready, false otherwise - */ - public boolean isReady() { - return isReady; - } - - /** - * This method will be used to return active attribute of Player class. - * - * @return active as a Boolean. - */ - public boolean isActive() { - return this.active; - } - - /** - * This method sets the player to ready - * - * @param ready true if the player is ready, false otherwise - */ - public void setReady(boolean ready) { - isReady = ready; - } - - /** - * This method will be used to set active attribute of Player class to the given active parameter. - * - * @param active as the new active value as a Boolean. - */ - public void setActive(boolean active) { - this.active = active; + public int getId() { + return id; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/PlayerData.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/PlayerData.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/PlayerData.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/PlayerData.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/ShieldState.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/ShieldState.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/ShieldState.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/ShieldState.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/StartNode.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/StartNode.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/StartNode.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/StartNode.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Statistic.java b/Projekte/mdga/model/src/main/java/pp.mdga/game/Statistic.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/game/Statistic.java rename to Projekte/mdga/model/src/main/java/pp.mdga/game/Statistic.java diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/AnimationEnd.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/AnimationEnd.java new file mode 100644 index 00000000..b564a96b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/AnimationEnd.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class AnimationEnd extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientInterpreter.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientInterpreter.java new file mode 100644 index 00000000..0b7ec4d5 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientInterpreter.java @@ -0,0 +1,37 @@ +package pp.mdga.message.client; + +public interface ClientInterpreter { + void received(AnimationEnd animationEnd, int from); + + void received(DeselectTSK deselectTSK , int from); + + void received(ForceStartGame forceStartGame, int from); + + void received(JoinServer joinServer , int from); + + void received(LeaveGame leaveGame , int from); + + void received(LobbyNotReady lobbyNotReady , int from); + + void received(LobbyReady lobbyReady , int from); + + void received(RequestBriefing requestBriefing , int from); + + void received(RequestDice requestDice , int from); + + void received(RequestMove requestMove , int from); + + void received(RequestPlayCard requestPlayCard , int from); + + void received(SelectCard selectCard , int from); + + void received(SelectTSK selectTSK , int from); + + void received(ForceContinueGame forceContinueGame, int from); + + void received(ClientStartGame clientStartGame, int from); + + void received(NoPowerCard noPowerCard, int from); + + void received(SelectedPieces selectedPieces, int from); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientMessage.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientMessage.java new file mode 100644 index 00000000..9ae2d921 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientMessage.java @@ -0,0 +1,11 @@ +package pp.mdga.message.client; + +import com.jme3.network.AbstractMessage; + +public abstract class ClientMessage extends AbstractMessage { + protected ClientMessage() { + super(true); + } + + public abstract void accept(ClientInterpreter interpreter, int from); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientStartGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientStartGame.java new file mode 100644 index 00000000..86a69f73 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ClientStartGame.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class ClientStartGame extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/DeselectTSK.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/DeselectTSK.java new file mode 100644 index 00000000..21e0d39d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/DeselectTSK.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class DeselectTSK extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ForceContinueGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ForceContinueGame.java new file mode 100644 index 00000000..1dd6e603 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ForceContinueGame.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class ForceContinueGame extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ForceStartGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ForceStartGame.java new file mode 100644 index 00000000..32bf769c --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/ForceStartGame.java @@ -0,0 +1,17 @@ +package pp.mdga.message.client; + +public class ForceStartGame extends ClientMessage { + public ForceStartGame() { + + } + + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/JoinServer.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/JoinServer.java new file mode 100644 index 00000000..9971ab68 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/JoinServer.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class JoinServer extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LeaveGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LeaveGame.java new file mode 100644 index 00000000..2da13e64 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LeaveGame.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class LeaveGame extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LobbyNotReady.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LobbyNotReady.java new file mode 100644 index 00000000..8709c648 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LobbyNotReady.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class LobbyNotReady extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LobbyReady.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LobbyReady.java new file mode 100644 index 00000000..838111ba --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/LobbyReady.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class LobbyReady extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/NoPowerCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/NoPowerCard.java new file mode 100644 index 00000000..3fa227de --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/NoPowerCard.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class NoPowerCard extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestBriefing.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestBriefing.java new file mode 100644 index 00000000..d1c12ff8 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestBriefing.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class RequestBriefing extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestDice.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestDice.java new file mode 100644 index 00000000..298866d1 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestDice.java @@ -0,0 +1,13 @@ +package pp.mdga.message.client; + +public class RequestDice extends ClientMessage { + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestMove.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestMove.java new file mode 100644 index 00000000..48fd187d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestMove.java @@ -0,0 +1,32 @@ +package pp.mdga.message.client; + +import pp.mdga.game.Color; + +public class RequestMove extends ClientMessage { + + private final String pieceIdentifier; + + /** Constructor for RequestMove + * @param pieceIdentifier the piece identifier + */ + public RequestMove(String pieceIdentifier) { + this.pieceIdentifier = pieceIdentifier; + } + + /** Getter for the piece identifier + * @return the piece identifier + */ + public String getPieceIdentifier() { + return pieceIdentifier; + } + + @Override + public String toString() { + return pieceIdentifier; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java new file mode 100644 index 00000000..67885e0f --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/RequestPlayCard.java @@ -0,0 +1,32 @@ +package pp.mdga.message.client; + +import pp.mdga.game.BonusCard; + +public class RequestPlayCard extends ClientMessage { + + private final BonusCard card; + private final String pieceIdentifier; + + public RequestPlayCard(BonusCard card, String pieceIdentifier) { + this.pieceIdentifier = pieceIdentifier; + this.card = card; + } + + public BonusCard getCard() { + return card; + } + + public String getPieceIdentifier() { + return pieceIdentifier; + } + + @Override + public String toString() { + return card.toString(); + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectCard.java new file mode 100644 index 00000000..44957a6c --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectCard.java @@ -0,0 +1,26 @@ +package pp.mdga.message.client; + +import pp.mdga.game.BonusCard; + +public class SelectCard extends ClientMessage { + + private final BonusCard card; + + public SelectCard(BonusCard card) { + this.card = card; + } + + public BonusCard getCard() { + return card; + } + + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectTSK.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectTSK.java new file mode 100644 index 00000000..02a5c4cf --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectTSK.java @@ -0,0 +1,26 @@ +package pp.mdga.message.client; + +import pp.mdga.game.Color; + +public class SelectTSK extends ClientMessage { + + private final Color color; + + public SelectTSK(Color color) { + this.color = color; + } + + public Color getColor() { + return color; + } + + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectedPieces.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectedPieces.java new file mode 100644 index 00000000..50290e19 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/client/SelectedPieces.java @@ -0,0 +1,32 @@ +package pp.mdga.message.client; + +import pp.mdga.game.Color; + +public class SelectedPieces extends ClientMessage { + + private String pieceIdentifier; + + /** Constructor for SelectedPieces + * @param pieceIdentifier the piece identifier + */ + public SelectedPieces(String pieceIdentifier) { + this.pieceIdentifier = pieceIdentifier; + } + + /** Getter for the piece identifier + * @return the piece identifier + */ + public String getPieceIdentifier() { + return pieceIdentifier; + } + + @Override + public String toString() { + return "null"; + } + + @Override + public void accept(ClientInterpreter interpreter, int from) { + interpreter.received(this, from); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java new file mode 100644 index 00000000..e7c35daa --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ActivePlayer.java @@ -0,0 +1,32 @@ +package pp.mdga.message.server; + +import pp.mdga.game.Color; + +public class ActivePlayer extends ServerMessage { + + private Color color; + + /** Constructor for ActivePlayer + * @param color the color of the active player + */ + public ActivePlayer(Color color) { + this.color = color; + } + + /** Getter for the color of the active player + * @return the color of the active player + */ + public Color getColor() { + return color; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java new file mode 100644 index 00000000..42e3cec6 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/AnyPiece.java @@ -0,0 +1,38 @@ +package pp.mdga.message.server; + +import java.util.ArrayList; + +public class AnyPiece extends ServerMessage { + + private ArrayList piece; + + /** Constructor for AnyPiece + */ + public AnyPiece() { + piece = new ArrayList<>(); + } + + /** Add a piece to the list of pieces + * @param piece the piece to add + */ + public void addPiece(String piece) { + this.piece.add(piece); + } + + /** Getter for the list of pieces + * @return the list of pieces + */ + public ArrayList getPiece() { + return piece; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java new file mode 100644 index 00000000..db89d408 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Briefing.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class Briefing extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Ceremony.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Ceremony.java new file mode 100644 index 00000000..8a13db46 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Ceremony.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class Ceremony extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java new file mode 100644 index 00000000..7330505f --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/Dice.java @@ -0,0 +1,59 @@ +package pp.mdga.message.server; + +import java.util.ArrayList; + +public class Dice extends ServerMessage { + + private final int diceEye; + private final ArrayList moveablePieces; + + /** Constructor for Dice + * @param diceEye the eye of the dice + * @param moveablePieces the pieces that can be moved + */ + public Dice(int diceEye, ArrayList moveablePieces) { + this.diceEye = diceEye; + this.moveablePieces = moveablePieces; + } + + /** Constructor for inactivePlayer + * @param diceEye the eye of the dice + * @return a new Dice object + */ + public static Dice inactivePlayer(int diceEye) { + return new Dice(diceEye, null); + } + + /** Constructor for activePlayer + * @param diceEye the eye of the dice + * @param moveablePieces the pieces that can be moved + * @return a new Dice object + */ + public static Dice activePlayer(int diceEye, ArrayList moveablePieces) { + return new Dice(diceEye, moveablePieces); + } + + /** Getter for the eye of the dice + * @return the eye of the dice + */ + public int getDiceEye() { + return diceEye; + } + + /** Getter for the pieces that can be moved + * @return the pieces that can be moved + */ + public ArrayList getMoveablePieces() { + return moveablePieces; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java new file mode 100644 index 00000000..ee1798ee --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceAgain.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class DiceAgain extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java new file mode 100644 index 00000000..3a87ca60 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/DiceNow.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class DiceNow extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java new file mode 100644 index 00000000..62c33df2 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/EndOfTurn.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class EndOfTurn extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java new file mode 100644 index 00000000..324c69e5 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyAccept.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class LobbyAccept extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java new file mode 100644 index 00000000..0cbd29f0 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyDeny.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class LobbyDeny extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java new file mode 100644 index 00000000..5d686153 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerJoin.java @@ -0,0 +1,24 @@ +package pp.mdga.message.server; + +public class LobbyPlayerJoin extends ServerMessage { + + private final String name; + + public LobbyPlayerJoin(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java new file mode 100644 index 00000000..4f4ab6a3 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/LobbyPlayerLeave.java @@ -0,0 +1,31 @@ +package pp.mdga.message.server; + +import pp.mdga.game.Color; + +public class LobbyPlayerLeave extends ServerMessage { + + private final String name; + private final Color color; + + public LobbyPlayerLeave(String name, Color color) { + this.name = name; + this.color = color; + } + + public String getName() { + return name; + } + + public Color getColor() { + return color; + } + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java new file mode 100644 index 00000000..4a7a3a39 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/MoveMessage.java @@ -0,0 +1,33 @@ +package pp.mdga.message.server; + +public class MoveMessage extends ServerMessage { + + private final String pieceIdentifier; + + /** + * @param identifier the identifier of the piece that should be moved + */ + public MoveMessage(String identifier) { + this.pieceIdentifier = identifier; + } + + /** + * @return the identifier of the piece that should be moved + */ + public String getIdentifier() { + return pieceIdentifier; + } + + /** + * @return the identifier of the piece that should be moved + */ + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java new file mode 100644 index 00000000..c1b1f436 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/NoTurn.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class NoTurn extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java new file mode 100644 index 00000000..d9416c30 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PauseGame.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class PauseGame extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java new file mode 100644 index 00000000..4b5f61ae --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PlayCard.java @@ -0,0 +1,41 @@ +package pp.mdga.message.server; + +import pp.mdga.game.BonusCard; + +public class PlayCard extends ServerMessage { + + private final BonusCard card; + private final String pieceIdentifier; + + /** + * @param card the card that should be played + * @param pieceIdentifier the identifier of the piece that should be moved + */ + public PlayCard(BonusCard card, String pieceIdentifier) { + this.card = card; + this.pieceIdentifier = pieceIdentifier; + } + + /** + * @return the card that should be played + */ + public BonusCard getCard() { + return card; + } + + /** + * @return the identifier of the piece that should be moved + */ + public String getPieceIdentifier() { + return pieceIdentifier; + } + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java new file mode 100644 index 00000000..d543b3c6 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossibleCard.java @@ -0,0 +1,40 @@ +package pp.mdga.message.server; + +import pp.mdga.game.BonusCard; + +import java.util.ArrayList; + +public class PossibleCard extends ServerMessage { + + private ArrayList possibleCards; + + /** Constructor for PossibleCard + */ + public PossibleCard() { + possibleCards = new ArrayList<>(); + } + + /** Add a possible card to the list of possible cards + * @param card the possible card to add + */ + public void addPossibleCard(BonusCard card) { + this.possibleCards.add(card); + } + + /** Getter for the list of possible cards + * @return the list of possible cards + */ + public ArrayList getPossibleCards() { + return possibleCards; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java new file mode 100644 index 00000000..d85b9453 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/PossiblePiece.java @@ -0,0 +1,47 @@ +package pp.mdga.message.server; + +import java.util.ArrayList; + +public class PossiblePiece extends ServerMessage { + + private final ArrayList possibleOwnPieces; + private final ArrayList possibleEnemyPieces; + + /** Constructor for PossiblePiece + */ + public PossiblePiece() { + possibleOwnPieces = new ArrayList<>(); + possibleEnemyPieces = new ArrayList<>(); + } + + /** Add a piece to the list of possible pieces + * @param piece the piece to add + */ + public void addOwnPossiblePiece(String piece) { + this.possibleOwnPieces.add(piece); + } + + /** Add a piece to the list of possible enemy pieces + * @param piece the piece to add + */ + public void addEnemyPossiblePiece(String piece) { + this.possibleEnemyPieces.add(piece); + } + + /** Getter for the list of possible pieces + * @return the list of possible pieces + */ + public ArrayList getPossiblePieces() { + return possibleOwnPieces; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponce.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponce.java new file mode 100644 index 00000000..4464bf2c --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingResponce.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class RankingResponce extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java new file mode 100644 index 00000000..a1c200f9 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/RankingRollAgain.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class RankingRollAgain extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java new file mode 100644 index 00000000..7910e2c2 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ReconnectBriefing.java @@ -0,0 +1,25 @@ +package pp.mdga.message.server; + +import pp.mdga.game.Game; + +public class ReconnectBriefing extends ServerMessage { + + private final Game game; + + public ReconnectBriefing(Game game) { + this.game = game; + } + + public Game getGame() { + return game; + } + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java new file mode 100644 index 00000000..764dbb52 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ResumeGame.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class ResumeGame extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java new file mode 100644 index 00000000..d8f068cc --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerInterpreter.java @@ -0,0 +1,4 @@ +package pp.mdga.message.server; + +public interface ServerInterpreter { +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java new file mode 100644 index 00000000..b97aec1a --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerMessage.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +import com.jme3.network.AbstractMessage; + +public abstract class ServerMessage extends AbstractMessage { + protected ServerMessage() { + super(true); + } + + public abstract void accept(ServerInterpreter interpreter); + + public abstract String getInfoTextKey(); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java new file mode 100644 index 00000000..5a684bb8 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/ServerStartGame.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class ServerStartGame extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java new file mode 100644 index 00000000..902c467b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/StartPiece.java @@ -0,0 +1,24 @@ +package pp.mdga.message.server; + +public class StartPiece extends ServerMessage { + + private final String pieceIdentifier; + + public StartPiece(String pieceIdentifier) { + this.pieceIdentifier = pieceIdentifier; + } + + public String getPieceIdentifier() { + return pieceIdentifier; + } + + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java new file mode 100644 index 00000000..c7ad2593 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateReady.java @@ -0,0 +1,31 @@ +package pp.mdga.message.server; + +import pp.mdga.game.Color; + +public class UpdateReady extends ServerMessage { + + private final Color color; + private final boolean ready; + + public UpdateReady(Color color, boolean ready) { + this.color = color; + this.ready = ready; + } + + public Color getColor() { + return color; + } + + public boolean isReady() { + return ready; + } + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java new file mode 100644 index 00000000..c3d8e7fa --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/UpdateTSK.java @@ -0,0 +1,31 @@ +package pp.mdga.message.server; + +import pp.mdga.game.Color; + +public class UpdateTSK extends ServerMessage { + + private final String name; + private final Color color; + + public UpdateTSK(String name, Color color) { + this.name = name; + this.color = color; + } + + public String getName() { + return name; + } + + public Color getColor() { + return color; + } + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java new file mode 100644 index 00000000..41cd1151 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/message/server/WaitPiece.java @@ -0,0 +1,13 @@ +package pp.mdga.message.server; + +public class WaitPiece extends ServerMessage { + @Override + public void accept(ServerInterpreter interpreter) { + + } + + @Override + public String getInfoTextKey() { + return ""; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/AcquireCardNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/AcquireCardNotification.java similarity index 52% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/AcquireCardNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/AcquireCardNotification.java index 73cacc88..5a4afff7 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/AcquireCardNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/AcquireCardNotification.java @@ -9,14 +9,24 @@ */ public class AcquireCardNotification extends Notification{ + private UUID cardId; private BonusCard bonusCard; /** * Constructor. - * @param bonusCard The type of the card that was acquired. + * @param cardId The id of the card that was acquired. */ - public AcquireCardNotification(BonusCard bonusCard) { + public AcquireCardNotification(BonusCard bonusCard, UUID cardId) { this.bonusCard = bonusCard; + this.cardId = cardId; + } + + /** + * Get the id of the card that was acquired. + * @return The id of the card that was acquired. + */ + public UUID getCardId() { + return cardId; } public BonusCard getBonusCard() { diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ActivePlayerNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ActivePlayerNotification.java similarity index 89% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/ActivePlayerNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/ActivePlayerNotification.java index 4efdb343..e557e8ce 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ActivePlayerNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ActivePlayerNotification.java @@ -12,7 +12,7 @@ public class ActivePlayerNotification extends Notification { */ private Color color; - public ActivePlayerNotification(Color color) { + ActivePlayerNotification(Color color) { this.color = color; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/CeremonyNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/CeremonyNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/CeremonyNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/CeremonyNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/DiceNowNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/DiceNowNotification.java similarity index 83% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/DiceNowNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/DiceNowNotification.java index 68064cfe..fce8c9b1 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/DiceNowNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/DiceNowNotification.java @@ -8,6 +8,6 @@ public class DiceNowNotification extends Notification { /** * Constructor. */ - public DiceNowNotification() { + DiceNowNotification() { } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/DicingNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/DicingNotification.java similarity index 91% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/DicingNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/DicingNotification.java index 4e9f3145..5c1c7ecf 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/DicingNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/DicingNotification.java @@ -13,7 +13,7 @@ public class DicingNotification extends Notification{ * Constructor. * @param color The color of the player that diced. */ - public DicingNotification(Color color) { + DicingNotification(Color color) { this.color = color; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/DrawCardNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/DrawCardNotification.java similarity index 91% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/DrawCardNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/DrawCardNotification.java index 5114fd15..2de500c0 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/DrawCardNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/DrawCardNotification.java @@ -15,7 +15,7 @@ public class DrawCardNotification extends Notification { * @param color the color of the player who drew the card * @param card the card that was drawn */ - public DrawCardNotification(Color color, BonusCard card) { + DrawCardNotification(Color color, BonusCard card) { this.color = color; this.card = card; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/GameNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/GameNotification.java similarity index 83% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/GameNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/GameNotification.java index d1864bbd..90c60694 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/GameNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/GameNotification.java @@ -7,6 +7,6 @@ public class GameNotification extends Notification{ /** * Constructor */ - public GameNotification() { + GameNotification() { } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/HomeMoveNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/HomeMoveNotification.java similarity index 91% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/HomeMoveNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/HomeMoveNotification.java index ffa7d2e1..48cecc52 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/HomeMoveNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/HomeMoveNotification.java @@ -16,7 +16,7 @@ public class HomeMoveNotification extends Notification { * @param pieceId the piece id * @param homeIndex the home index */ - public HomeMoveNotification(UUID pieceId, int homeIndex) { + HomeMoveNotification(UUID pieceId, int homeIndex) { this.pieceId = pieceId; this.homeIndex = homeIndex; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/InterruptNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/InterruptNotification.java similarity index 66% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/InterruptNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/InterruptNotification.java index bb8fb784..e9a61de6 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/InterruptNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/InterruptNotification.java @@ -10,14 +10,14 @@ public class InterruptNotification extends Notification { private Color color; /** - * @param color the color of the player who disconnected + * @param color the color of the player who drew the card */ - public InterruptNotification(Color color) { + InterruptNotification(Color color) { this.color = color; } /** - * @return the color of the player who disconnected + * @return the color of the player who drew the card */ public Color getColor() { return color; diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/LobbyDialogNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/LobbyDialogNotification.java similarity index 82% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/LobbyDialogNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/LobbyDialogNotification.java index dcea5094..7c1a4adf 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/LobbyDialogNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/LobbyDialogNotification.java @@ -7,6 +7,6 @@ public class LobbyDialogNotification extends Notification{ /** * Constructor */ - public LobbyDialogNotification() { + LobbyDialogNotification() { } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/MovePieceNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/MovePieceNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/MovePieceNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/MovePieceNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/NoShieldNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/NoShieldNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/NoShieldNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/NoShieldNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/Notification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/Notification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/Notification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/Notification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/PlayCardNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/PlayCardNotification.java similarity index 92% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/PlayCardNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/PlayCardNotification.java index dd9cf9d4..d554a0e6 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/PlayCardNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/PlayCardNotification.java @@ -16,7 +16,7 @@ public class PlayCardNotification extends Notification { * @param color the color of the player that played the card. * @param card the card that was played. */ - public PlayCardNotification(Color color, BonusCard card) { + PlayCardNotification(Color color, BonusCard card) { this.color = color; this.card = card; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/PlayerInGameNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/PlayerInGameNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/PlayerInGameNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/PlayerInGameNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ResumeNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ResumeNotification.java similarity index 92% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/ResumeNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/ResumeNotification.java index 5ef4bd34..98533e06 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ResumeNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ResumeNotification.java @@ -13,7 +13,7 @@ public class ResumeNotification extends Notification { * Constructor. * @param color the color of the player that is in the game. */ - public ResumeNotification(Color color) { + ResumeNotification(Color color) { this.color = color; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/RollDiceNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/RollDiceNotification.java similarity index 58% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/RollDiceNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/RollDiceNotification.java index f807711e..b6bd27c3 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/RollDiceNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/RollDiceNotification.java @@ -3,32 +3,24 @@ import pp.mdga.game.Color; /** - * Notification that a dice has been rolled. + * Notification that a die has been rolled. */ public class RollDiceNotification extends Notification{ private Color color; private int eyes; - private boolean turbo; - private int multiplier; + private int moveNumber; /** * Constructor. * @param color the color of the player that rolled the die. * @param eyes the number of eyes that were rolled. + * @param moveNumber the number of the move that was made. */ - RollDiceNotification(Color color, int eyes) { + RollDiceNotification(Color color, int eyes, int moveNumber) { this.color = color; this.eyes = eyes; - this.multiplier = -1; - this.turbo = false; - } - - RollDiceNotification(Color color, int eyes, boolean turbo, int multiplier) { - this.color = color; - this.eyes = eyes; - this.multiplier = multiplier; - this.turbo = turbo; + this.moveNumber = moveNumber; } /** @@ -47,11 +39,11 @@ public int getEyes() { return eyes; } - public int getMultiplier() { - return multiplier; - } - - public boolean isTurbo() { - return turbo; + /** + * Get the number of the move that was made. + * @return the number of the move that was made. + */ + public int getMoveNumber() { + return moveNumber; } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableCardsNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableCardsNotification.java similarity index 90% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableCardsNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableCardsNotification.java index 308edce2..925bde75 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableCardsNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableCardsNotification.java @@ -14,7 +14,7 @@ public class SelectableCardsNotification extends Notification { * Constructor. * @param cards The list of cards that the player can choose from. */ - public SelectableCardsNotification(List cards) { + SelectableCardsNotification(List cards) { this.cards = cards; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableMoveNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableMoveNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableMoveNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableMoveNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableSwapNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableSwapNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableSwapNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/SelectableSwapNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ShieldActiveNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ShieldActiveNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/ShieldActiveNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/ShieldActiveNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ShieldSuppressedNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ShieldSuppressedNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/ShieldSuppressedNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/ShieldSuppressedNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/StartDialogNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/StartDialogNotification.java similarity index 82% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/StartDialogNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/StartDialogNotification.java index 3e72cc29..f2458c14 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/StartDialogNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/StartDialogNotification.java @@ -7,6 +7,6 @@ public class StartDialogNotification extends Notification{ /** * Constructor */ - public StartDialogNotification() { + StartDialogNotification() { } } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SwapPieceNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/SwapPieceNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/SwapPieceNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/SwapPieceNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/ThrowPieceNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/ThrowPieceNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/ThrowPieceNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/ThrowPieceNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/TskSelectNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/TskSelectNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/TskSelectNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/TskSelectNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/TskUnselectNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/TskUnselectNotification.java similarity index 87% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/TskUnselectNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/TskUnselectNotification.java index 4a036d46..0f96beb1 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/TskUnselectNotification.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/notification/TskUnselectNotification.java @@ -10,7 +10,7 @@ public class TskUnselectNotification extends Notification{ * Constructor * @param color */ - public TskUnselectNotification(Color color){ + TskUnselectNotification(Color color){ this.color = color; } diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/WaitMoveNotification.java b/Projekte/mdga/model/src/main/java/pp.mdga/notification/WaitMoveNotification.java similarity index 100% rename from Projekte/mdga/model/src/main/java/pp/mdga/notification/WaitMoveNotification.java rename to Projekte/mdga/model/src/main/java/pp.mdga/notification/WaitMoveNotification.java diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/Animation.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/Animation.java new file mode 100644 index 00000000..74d95b65 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/Animation.java @@ -0,0 +1,16 @@ +package pp.mdga.server; + +import pp.mdga.message.client.AnimationEnd; +import pp.mdga.message.server.DiceNow; + +public class Animation extends ServerState { + public Animation(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedAnimationEnd(AnimationEnd msg, int from) { + logic.send(logic.getGame().getStartPlayer(), new DiceNow()); + parent.gotoState(new Turn(parent, logic)); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/Ceremony.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/Ceremony.java new file mode 100644 index 00000000..667aa927 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/Ceremony.java @@ -0,0 +1,7 @@ +package pp.mdga.server; + +public class Ceremony extends ServerState { + public Ceremony(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ChoosePiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ChoosePiece.java new file mode 100644 index 00000000..b9e6f4be --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ChoosePiece.java @@ -0,0 +1,9 @@ +package pp.mdga.server; + +public class ChoosePiece extends ServerState { + private final ChoosePieceStateMachine choosePieceStateMachine = new ChoosePieceStateMachine(this, logic); + + public ChoosePiece(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ChoosePieceStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ChoosePieceStateMachine.java new file mode 100644 index 00000000..2558e028 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ChoosePieceStateMachine.java @@ -0,0 +1,12 @@ +package pp.mdga.server; + +public class ChoosePieceStateMachine extends ServerStateMachine{ + public ChoosePieceStateMachine(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public NoPiece initialState() { + return new NoPiece(this, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/DetermineStartPlayer.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/DetermineStartPlayer.java new file mode 100644 index 00000000..b9910dbc --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/DetermineStartPlayer.java @@ -0,0 +1,44 @@ +package pp.mdga.server; + +import pp.mdga.game.Player; +import pp.mdga.message.client.RequestDice; +import pp.mdga.message.server.*; + +import java.util.ArrayList; +import java.util.List; + +public class DetermineStartPlayer extends ServerState { + private final List player = new ArrayList<>(); + + public DetermineStartPlayer(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + logic.getGame().addObserver(this); + } + + @Override + public void receivedRequestDice(RequestDice msg, int from) { +// logic.send(); + +// broadcastUpdate(new Dice()); + } + + @Override + public void update() { + if (Boolean.TRUE.equals(logic.getGame().allRanked())) { + broadcastUpdate(new RankingResponce()); + if (logic.getGame().getOrder().isEmpty()) { + // todo: save the players with the same value? + broadcastUpdate(new RankingRollAgain()); + broadcastUpdate(new EndOfTurn()); + } else { + // todo: set start player + Player startPlayer = new Player(1); + logic.getGame().setStartPlayer(startPlayer); + logic.send(startPlayer, new DiceNow()); + broadcastUpdate(new EndOfTurn()); + parent.gotoState(new Animation(parent, logic)); + logic.getGame().removeObserver(this); + } + } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/FirstRoll.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/FirstRoll.java new file mode 100644 index 00000000..3c687bf7 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/FirstRoll.java @@ -0,0 +1,28 @@ +package pp.mdga.server; + +import pp.mdga.message.client.RequestDice; + +public class FirstRoll extends ServerState { + public FirstRoll(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedRequestDice(RequestDice msg, int from) { + // todo: implement player.hasMovablePieces() +// if (player.hasMovablePieces()) { +// // todo: goto ChoosePiece +// } else { +// // todo: implement roll +// if (roll == 6) { +// // todo: send to everyone? or one player? +// logic.send(new Player(1), new Dice()); +// // todo: goto ChoosePiece +// } else { +// // todo: send to everyone? or one player? +// logic.send(new Player(1), new DiceAgain()); +// parent.gotoState(new SecondRoll(parent, logic)); +// } +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/GameState.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/GameState.java new file mode 100644 index 00000000..dab977c8 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/GameState.java @@ -0,0 +1,69 @@ +package pp.mdga.server; + +import pp.mdga.message.client.*; +import pp.mdga.message.server.PauseGame; +import pp.mdga.message.server.PossibleCard; +import pp.mdga.message.server.RankingResponce; + +public class GameState extends ServerState { + private final GameStateMachine gameStateMachine = new GameStateMachine(this, logic); + + public GameState(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + logic.getGame().addObserver(this); + } + + @Override + public void entry() { + gameStateMachine.entry(); + } + + @Override + public void exit() { + parent.gotoState(new Ceremony(parent, logic)); + } + + @Override + public void receivedAnimationEnd(AnimationEnd msg, int from) { + gameStateMachine.receivedAnimationEnd(msg, from); + } + + @Override + public void receivedNoPowerCard(NoPowerCard msg, int from) { + gameStateMachine.receivedNoPowerCard(msg, from); + } + + @Override + public void receivedSelectCard(SelectCard msg, int from) { + gameStateMachine.receivedSelectCard(msg, from); + } + + @Override + public void receivedRequestDice(RequestDice msg, int from) { + gameStateMachine.receivedRequestDice(msg, from); + } + + @Override + public void receivedSelectedPieces(SelectedPieces msg, int from) { + gameStateMachine.receivedSelectedPieces(msg, from); + } + + @Override + public void sentPossibleCard(PossibleCard msg, int from) { + gameStateMachine.sentPossibleCard(msg, from); + } + + @Override + public void sentRankingResponse(RankingResponce msg, int from) { + gameStateMachine.sentRankingResponse(msg, from); + } + + @Override + public void update() { + if (Boolean.TRUE.equals(logic.getGame().playerHasDisconnected())) { + broadcastUpdate(new PauseGame()); + parent.gotoState(new Interrupt(parent, logic, this)); + logic.getGame().removeObserver(this); + } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/GameStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/GameStateMachine.java new file mode 100644 index 00000000..2e14808b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/GameStateMachine.java @@ -0,0 +1,26 @@ +package pp.mdga.server; + +/** + * The GameStateMachine class represents the state machine for the game state. + */ +public class GameStateMachine extends ServerStateMachine { + /** + * Constructs a new GameStateMachine with the specified parent state and game logic. + * + * @param parent the parent state + * @param logic the server game logic + */ + public GameStateMachine(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + /** + * Returns the initial state of the state machine, which is DetermineStartPlayer. + * + * @return the initial state + */ + @Override + public DetermineStartPlayer initialState() { + return new DetermineStartPlayer(this, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/Interrupt.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/Interrupt.java new file mode 100644 index 00000000..ca59ca86 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/Interrupt.java @@ -0,0 +1,22 @@ +package pp.mdga.server; + +import pp.mdga.message.server.ResumeGame; + +public class Interrupt extends ServerState { + private final GameState lastState; + + public Interrupt(ServerState parent, ServerGameLogic logic, GameState lastState) { + super(parent, logic); + this.lastState = lastState; + logic.getGame().addObserver(this); + } + + @Override + public void update() { + if (Boolean.FALSE.equals(logic.getGame().gameIsInterrupted())) { + broadcastUpdate(new ResumeGame()); + parent.gotoState(lastState); + logic.getGame().removeObserver(this); + } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/Lobby.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/Lobby.java index 71419a90..5da89e84 100644 --- a/Projekte/mdga/model/src/main/java/pp.mdga/server/Lobby.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/Lobby.java @@ -4,8 +4,6 @@ import pp.mdga.message.server.ServerStartGame; import pp.mdga.message.server.UpdateReady; import pp.mdga.message.server.UpdateTSK; -import pp.mdga.server.automaton.GameState; -import pp.mdga.server.automaton.ServerState; /** * Represents the lobby state of the server. @@ -26,7 +24,7 @@ public Lobby(ServerState parent, ServerGameLogic logic) { * * @param msg the DeselectTSK message */ -// @Override + @Override public void receivedDeselectTSK(DeselectTSK msg, int from) { // broadcastUpdate(new UpdateTSK()); } @@ -36,7 +34,7 @@ public void receivedDeselectTSK(DeselectTSK msg, int from) { * * @param msg the LobbyNotReady message */ -// @Override + @Override public void receivedNotReady(LobbyNotReady msg, int from) { // broadcastUpdate(new UpdateReady()); } @@ -46,7 +44,7 @@ public void receivedNotReady(LobbyNotReady msg, int from) { * * @param msg the LobbyReady message */ -// @Override + @Override public void receivedReady(LobbyReady msg, int from) { // broadcastUpdate(new UpdateReady()); } @@ -56,7 +54,7 @@ public void receivedReady(LobbyReady msg, int from) { * * @param msg the SelectTSK message */ -// @Override + @Override public void receivedSelectTSK(SelectTSK msg, int from) { // broadcastUpdate(new UpdateTSK()); } @@ -66,21 +64,11 @@ public void receivedSelectTSK(SelectTSK msg, int from) { * * @param msg the ClientStartGame message */ -// @Override + @Override public void receivedStartGame(ClientStartGame msg, int from) { if (Boolean.TRUE.equals(logic.getGame().allRanked())) { -// broadcastUpdate(new ServerStartGame()); -// parent.gotoState(new GameState(parent, logic)); + broadcastUpdate(new ServerStartGame()); + parent.gotoState(new GameState(parent, logic)); } } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } } diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/MovePiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/MovePiece.java new file mode 100644 index 00000000..38d40399 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/MovePiece.java @@ -0,0 +1,7 @@ +package pp.mdga.server; + +public class MovePiece extends ServerState { + public MovePiece(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/NoPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/NoPiece.java new file mode 100644 index 00000000..6326bfb1 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/NoPiece.java @@ -0,0 +1,55 @@ +package pp.mdga.server; + +import pp.mdga.game.Player; +import pp.mdga.message.server.WaitPiece; + +public class NoPiece extends ServerState { + public NoPiece(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + entry(); + } + + @Override + public void entry() { +// if (hasTurbo() || turbo == 0) { +// if (roll == 6 && +// logic.getGame().getBoard().getPlayerData().getWaitingArea().hasPieces() && +// logic.getGame().getBoard().getNodes().getStartNode(Color).isOccupied()) { +// parent.gotoState(new WaitingPiece(parent, logic)); +// } else { +// parent.gotoState(new NoTurn(parent, logic)); +// } +// } else { +// validateHasPieces(); +// } + } + + private void validateHasPieces() { +// if (logic.getGame().getBoard().getPlayerData().getWaitingArea().hasPieces()) { +// if (logic.getGame().getBoard().getNodes().getStartNode(Color).isOccupied()) { +// if (roll == 6) { +// logic.send(new Player(1), new WaitPiece()); +// } else { +// validateMove(); +// } +// } else { +// if (logic.getGame().getBoard().getNodes().getStartNode(Color).getPiece().canMove()) { +// logic.send(new Player(1), new WaitPiece()); +// parent.gotoState(new StartPiece(parent, logic)); +// } else { +// validateMove(); +// } +// } +// } else { +// validateMove(); +// } + } + + private void validateMove() { +// if (player.canMove()) { +// parent.gotoState(new NoTurn(parent, logic)); +// } else { +// logic.send(new Player(1), new SelectPiece()); +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/NoTurn.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/NoTurn.java new file mode 100644 index 00000000..388f50bf --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/NoTurn.java @@ -0,0 +1,14 @@ +package pp.mdga.server; + +import pp.mdga.message.server.EndOfTurn; + +public class NoTurn extends ServerState { + public NoTurn(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void sentEndOfTurn(EndOfTurn msg, int from) { + // todo: goto end of turn + } +} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/Observer.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/Observer.java similarity index 67% rename from Projekte/mdga/model/src/main/java/pp/mdga/client/Observer.java rename to Projekte/mdga/model/src/main/java/pp.mdga/server/Observer.java index 73290304..a95ad2ad 100644 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/Observer.java +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/Observer.java @@ -1,4 +1,4 @@ -package pp.mdga.client; +package pp.mdga.server; public interface Observer { void update(); diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/PlayPowerCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/PlayPowerCard.java new file mode 100644 index 00000000..cc7cf7b0 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/PlayPowerCard.java @@ -0,0 +1,7 @@ +package pp.mdga.server; + +public class PlayPowerCard extends ServerState { + public PlayPowerCard(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/PowerCard.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/PowerCard.java new file mode 100644 index 00000000..a66f0104 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/PowerCard.java @@ -0,0 +1,54 @@ +package pp.mdga.server; + +import pp.mdga.game.Player; +import pp.mdga.message.client.NoPowerCard; +import pp.mdga.message.client.SelectCard; +import pp.mdga.message.client.SelectedPieces; +import pp.mdga.message.server.DiceNow; +import pp.mdga.message.server.PossibleCard; + +public class PowerCard extends ServerState { + public PowerCard(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + logic.getGame().addObserver(this); + } + + @Override + public void receivedNoPowerCard(NoPowerCard msg, int from) { + // todo: send to everyone? or one player? + // todo: right msg? + logic.send(new Player(1), new DiceNow()); + parent.gotoState(new RollDice(parent, logic)); + } + + @Override + public void receivedSelectCard(SelectCard msg, int from) { + // todo: send to everyone? or one player? + logic.send(new Player(1), new PossibleCard()); + } + + @Override + public void receivedSelectedPieces(SelectedPieces msg, int from) { +// if (verifySelectedPieces()) { +// // todo: send to everyone? or one player? +// // todo: msg PowerCardAnimation? +// logic.send(new Player(1), new PowerCardAnimation()); +// parent.gotoState(new PlayPowerCard(parent, logic)); +// } + } + + @Override + public void sentPossibleCard(PossibleCard msg, int from) { + // todo: implement + } + + @Override + public void update() { + if (!super.getMoveablePieces(logic.getGame().getActiveColor()).isEmpty()) { + // todo: send to everyone? or one player? + // todo: right msg? + logic.send(new Player(1), new DiceNow()); + parent.gotoState(new RollDice(parent, logic)); + } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/RollDice.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/RollDice.java new file mode 100644 index 00000000..acb43509 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/RollDice.java @@ -0,0 +1,9 @@ +package pp.mdga.server; + +public class RollDice extends ServerState { + private final RollDiceMachine rollDiceMachine = new RollDiceMachine(this, logic); + + public RollDice(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/RollDiceMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/RollDiceMachine.java new file mode 100644 index 00000000..bc788947 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/RollDiceMachine.java @@ -0,0 +1,12 @@ +package pp.mdga.server; + +public class RollDiceMachine extends ServerStateMachine { + public RollDiceMachine(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public FirstRoll initialState() { + return new FirstRoll(this, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/SecondRoll.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/SecondRoll.java new file mode 100644 index 00000000..d149236b --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/SecondRoll.java @@ -0,0 +1,25 @@ +package pp.mdga.server; + +import pp.mdga.game.Player; +import pp.mdga.message.client.RequestDice; +import pp.mdga.message.server.Dice; +import pp.mdga.message.server.DiceAgain; + +public class SecondRoll extends ServerState { + public SecondRoll(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedRequestDice(RequestDice msg, int from) { +// if (roll == 6) { +// // todo: send to everyone? or one player? +// logic.send(new Player(1), new Dice()); +// // todo: goto ChoosePiece +// } else { +// // todo: send to everyone? or one player? +// logic.send(new Player(1), new DiceAgain()); +// parent.gotoState(new ThirdRoll(parent, logic)); +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/SelectPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/SelectPiece.java new file mode 100644 index 00000000..9cd71e6a --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/SelectPiece.java @@ -0,0 +1,22 @@ +package pp.mdga.server; + +import pp.mdga.game.Piece; +import pp.mdga.game.Player; +import pp.mdga.message.client.RequestMove; +import pp.mdga.message.server.StartPiece; + +public class SelectPiece extends ServerState { + public SelectPiece(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedRequestMove(RequestMove msg, int from) { +// if (verifyPiece(p)) { +// logic.send(new Player(1), new Animation()); +// // todo: goto state +// } else { +// logic.send(new Player(1), new StartPiece()); +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerAutomaton.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerAutomaton.java new file mode 100644 index 00000000..14061e81 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerAutomaton.java @@ -0,0 +1,27 @@ +package pp.mdga.server; + +/** + * The ServerAutomaton class represents the top-level state machine for the server. + * It initializes the state machine and sets the initial state to Lobby. + */ +public class ServerAutomaton extends ServerStateMachine { + /** + * Constructs a new ServerAutomaton with the specified game logic. + * + * @param logic the server game logic + */ + public ServerAutomaton(ServerGameLogic logic) { + super(null, logic); + entry(); + } + + /** + * Returns the initial state of the state machine, which is Lobby. + * + * @return the initial state + */ + @Override + public Lobby initialState() { + return new Lobby(this, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerGameLogic.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerGameLogic.java new file mode 100644 index 00000000..2dbb77f5 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerGameLogic.java @@ -0,0 +1,131 @@ +package pp.mdga.server; + +import pp.mdga.game.Game; +import pp.mdga.game.Player; +import pp.mdga.message.client.*; +import pp.mdga.message.server.ServerMessage; + +import java.lang.System.Logger; + +public class ServerGameLogic implements ClientInterpreter { + static final Logger LOGGER = System.getLogger(ServerGameLogic.class.getName()); + + private final Game game; + private final ServerSender serverSender; + private ServerState state; + + public ServerGameLogic(Game game, ServerSender serverSender) { + this.game = game; + this.serverSender = serverSender; + state = new ServerAutomaton(this); + } + + + @Override + public void received(AnimationEnd animationEnd, int from) { + + } + + @Override + public void received(DeselectTSK deselectTSK, int from) { + + } + + @Override + public void received(ForceStartGame forceStartGame, int from) { + + } + + @Override + public void received(JoinServer joinServer, int from) { + + } + + @Override + public void received(LeaveGame leaveGame, int from) { + + } + + @Override + public void received(LobbyNotReady lobbyNotReady, int from) { + + } + + @Override + public void received(LobbyReady lobbyReady, int from) { + + } + + @Override + public void received(RequestBriefing requestBriefing, int from) { + + } + + @Override + public void received(RequestDice requestDice, int from) { + + } + + @Override + public void received(RequestMove requestMove, int from) { + + } + + @Override + public void received(RequestPlayCard requestPlayCard, int from) { + + } + + @Override + public void received(SelectCard selectCard, int from) { + + } + + @Override + public void received(SelectTSK selectTSK, int from) { + + } + + @Override + public void received(ForceContinueGame forceContinueGame, int from) { + + } + + @Override + public void received(ClientStartGame clientStartGame, int from) { + + } + + @Override + public void received(NoPowerCard noPowerCard, int from) { + + } + + @Override + public void received(SelectedPieces selectedPieces, int from) { + + } + + /** + * Sends a message to the specified player. + * + * @param player the player to send the message to + * @param msg the message to send + */ + public void send(Player player, ServerMessage msg) { + LOGGER.log(Logger.Level.INFO, "sending to {0}: {1}", player, msg); //NON-NLS + serverSender.send(player.getId(), msg); + } + + public ServerSender getServerSender() { + return serverSender; + } + + public Game getGame() { + return game; + } + + public ServerState getState() { + return state; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerSender.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerSender.java new file mode 100644 index 00000000..0efc8f5d --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerSender.java @@ -0,0 +1,7 @@ +package pp.mdga.server; + +import pp.mdga.message.server.ServerMessage; + +public interface ServerSender { + void send(int id, ServerMessage msg); +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerState.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerState.java new file mode 100644 index 00000000..90c08897 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerState.java @@ -0,0 +1,324 @@ +package pp.mdga.server; + +import pp.mdga.game.Color; +import pp.mdga.game.Node; +import pp.mdga.game.Piece; +import pp.mdga.game.PieceState; +import pp.mdga.game.PlayerData; +import pp.mdga.message.client.*; +import pp.mdga.message.server.EndOfTurn; +import pp.mdga.message.server.PossibleCard; +import pp.mdga.message.server.RankingResponce; +import pp.mdga.message.server.ServerMessage; + +import java.lang.System.Logger; +import java.util.ArrayList; +import java.util.List; + +/** + * Abstract class representing a state in the server's state machine. + * Implements the Observer pattern to observe changes in the game state. + */ +public abstract class ServerState implements Observer { + /** + * Logger for logging messages within the application. + */ + protected static final Logger LOGGER = System.getLogger(ServerState.class.getName()); + + /** + * The parent state of the current state. + */ + protected ServerState parent; + + /** + * The game logic associated with the server state. + */ + protected ServerGameLogic logic; + + /** + * Constructs a new ServerState with the specified parent state and game logic. + * + * @param parent the parent state of the current state + * @param logic the game logic associated with the server state + */ + protected ServerState(ServerState parent, ServerGameLogic logic) { + this.parent = parent; + this.logic = logic; + } + + /** + * This method is called when the state is entered. + */ + public void entry() { /* do nothing */ } + + /** + * This method is called when the state is exited. + */ + public void exit() { /* do nothing */ } + + /** + * This method is called when an animation ends. + * + * @param msg the animation end message + */ + public void receivedAnimationEnd(AnimationEnd msg, int from) { /* do nothing */ } + + /** + * This method is called when a TSK is deselected. + * + * @param msg the deselect TSK message + */ + public void receivedDeselectTSK(DeselectTSK msg, int from) { /* do nothing */ } + + /** + * This method is called when a NoPowerCard message is received. + * + * @param msg the NoPowerCard message + */ + public void receivedNoPowerCard(NoPowerCard msg, int from) { /* do nothing */ } + + /** + * This method is called when a LobbyNotReady message is received. + * + * @param msg the LobbyNotReady message + */ + public void receivedNotReady(LobbyNotReady msg, int from) { /* do nothing */ } + + /** + * This method is called when a LobbyReady message is received. + * + * @param msg the LobbyReady message + */ + public void receivedReady(LobbyReady msg, int from) { /* do nothing */ } + + /** + * This method is called when a RequestDice message is received. + * + * @param msg the RequestDice message + */ + public void receivedRequestDice(RequestDice msg, int from) { /* do nothing */ } + + /** + * This method is called when a RequestMove message is received. + * + * @param msg the RequestMove message + */ + public void receivedRequestMove(RequestMove msg, int from) { /* do nothing */ } + + /** + * This method is called when a SelectCard message is received. + * + * @param msg the SelectCard message + */ + public void receivedSelectCard(SelectCard msg, int from) { /* do nothing */ } + + /** + * This method is called when a SelectTSK message is received. + * + * @param msg the SelectTSK message + */ + public void receivedSelectTSK(SelectTSK msg, int from) { /* do nothing */ } + + /** + * This method is called when a SelectedPieces message is received. + * + * @param msg the SelectedPieces message + */ + public void receivedSelectedPieces(SelectedPieces msg, int from) { /* do nothing */ } + + /** + * This method is called when a StartGame message is received. + * + * @param msg the StartGame message + */ + public void receivedStartGame(ClientStartGame msg, int from) { /* do nothing */ } + + /** + * This method is called when an EndOfTurn message is sent. + * + * @param msg the EndOfTurn message + */ + public void sentEndOfTurn(EndOfTurn msg, int from) { /* do nothing */ } + + /** + * This method is called when a PossibleCard message is sent. + * + * @param msg the PossibleCard message + */ + public void sentPossibleCard(PossibleCard msg, int from) { /* do nothing */ } + + /** + * This method is called when a RankingResponce message is sent. + * + * @param msg the RankingResponce message + */ + public void sentRankingResponse(RankingResponce msg, int from) { /* do nothing */ } + + /** + * This method transitions to a new state. + * + * @param state the new state to transition to + * @throws IllegalStateException if called outside a state machine + */ + public void gotoState(ServerState state) { + throw new IllegalStateException("not in a statemachine"); + } + + /** + * Returns the parent state of the current state. + * + * @return the parent state + */ + public ServerState getParent() { + return parent; + } + + /** + * This method is called when the observed object is changed. + * It is part of the Observer pattern implementation. + */ + public void update() { /* do nothing */ } + + /** + * This method is used to calculate the steps a piece can move + * + * @return the steps a piece can move + */ + private int calculateSteps() { + return logic.getGame().getDiceEyes() * logic.getGame().getDiceModifier(); + } + + /** + * This method is used to test if u can move a piece + * + * @param piece the piece to be moved + * @return true if the piece can be moved, false otherwise + */ + protected boolean tryMove(Piece piece) { + int steps = calculateSteps(); + if (piece.getState() == PieceState.HOME) { + return tryHomeMove(piece, steps); + } else { + int homeMoves = getHomeMoves(piece, steps); + if (homeMoves > 0) { + return tryHomeMove(piece, homeMoves); + } else { + return tryInfieldMove(piece, steps); + } + } + } + + /** + * This method is used to determine if a piece would move into the home area. + * + * @param piece the piece to be moved + * @param steps the steps the piece would move + * @return the number of steps the piece would move into the home area + */ + protected int getHomeMoves(Piece piece, int steps) { + int figureIndex = logic.getGame().getBoard().getInfieldIndexOfPiece(piece); + Color col = piece.getColor(); + int startIndex = logic.getGame().getBoard().getPlayerData().get(col).getStartNodeIndex(); + int moveIndex = startIndex + steps; + if (moveIndex > logic.getGame().getBoard().getInfield().length) { + moveIndex %= logic.getGame().getBoard().getInfield().length; + if (moveIndex >= startIndex) { + return moveIndex - startIndex + 1; + } + } else if (figureIndex < startIndex && moveIndex >= startIndex) { + return moveIndex - startIndex + 1; + } + return 0; + } + + /** + * This method is used to determine if a piece can move in the infield + * + * @param piece the piece to be moved + * @param steps the steps the piece would move + * @return true if the piece can move in the infield, false otherwise + */ + protected boolean tryInfieldMove(Piece piece, int steps) { + int figureIndex = logic.getGame().getBoard().getInfieldIndexOfPiece(piece); + int moveIndex = (figureIndex + steps) % logic.getGame().getBoard().getInfield().length; + Piece occupant = logic.getGame().getBoard().getInfield()[moveIndex].getOccupant(); + if (occupant != null) { + return occupant.getColor() != piece.getColor(); + } + return true; + } + + /** + * This method is used to determine if a piece can move inside the home area + * + * @param piece the piece to be moved + * @param steps the steps the piece would move + * @return true if the piece can move into the home area, false otherwise + */ + protected boolean tryHomeMove(Piece piece, int steps) { + Color col = piece.getColor(); + PlayerData playerData = logic.getGame().getBoard().getPlayerData().get(col); + Node[] homeNodes = playerData.getHomeNodes(); + int index; + + if (playerData.homeIncludes(piece)) { + index = playerData.getIndexInHome(piece); + } else { + index = 0; + } + + if (index + steps >= homeNodes.length) { + return false; + } else { + for (int i = index; i <= index + steps; i++) { + if (homeNodes[i].getOccupant() != null) { + return false; + } + } + return true; + } + } + + /** + * This method is used to get the pieces that can be moved + * + * @param color the color of the pieces + * @return the pieces that can be moved + */ + protected List getMoveablePieces(Color color) { + ArrayList moveablePieces = new ArrayList<>(); + ArrayList pieces = new ArrayList<>(); + for (Piece piece : logic.getGame().getBoard().getPlayerData().get(color).getPieces()) { + if (piece.getState() == PieceState.ACTIVE || piece.getState() == PieceState.HOME) { + pieces.add(piece); + } + } + for (Piece piece : pieces) { + if (tryMove(piece)) { + moveablePieces.add(piece); + } + } + return moveablePieces; + } + + /** + * Broadcasts an update message to all players. + * + * @param updateMessage the update message to be sent + */ + protected void broadcastUpdate(ServerMessage updateMessage) { + for (var entry : logic.getGame().getPlayers().entrySet()) { + logic.send(entry.getValue(), updateMessage); + } + } + + /** + * Returns a string representation of the object. + * + * @return the simple name of the class + */ + @Override + public String toString() { + return getClass().getSimpleName(); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerStateMachine.java new file mode 100644 index 00000000..a55c0ef0 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ServerStateMachine.java @@ -0,0 +1,234 @@ +package pp.mdga.server; + +import pp.mdga.message.client.*; +import pp.mdga.message.server.EndOfTurn; +import pp.mdga.message.server.PossibleCard; +import pp.mdga.message.server.RankingResponce; + +/** + * Abstract class representing a state machine for the server. + * It manages the transitions between different states and delegates + * the handling of messages to the current state. + */ +public abstract class ServerStateMachine extends ServerState { + /** + * The current state of the state machine. + */ + private ServerState state; + + /** + * Constructs a new instance of ServerStateMachine. + * + * @param parent the parent state + * @param logic the server game logic + */ + protected ServerStateMachine(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + /** + * Creates the initial state of a state machine. + */ + public abstract ServerState initialState(); + + /** + * Transitions to a new state. + * + * @param newState the new state to transition to + */ + @Override + public void gotoState(ServerState newState) { + LOGGER.log(System.Logger.Level.DEBUG, "{0}: {1} --> {2}", this, state, newState); + enter(newState); + } + + /** + * This method is called when the state is entered. + */ + @Override + public void entry() { + final ServerState newState = initialState(); + LOGGER.log(System.Logger.Level.DEBUG, "{0}: initial state={1}", this, newState); + enter(newState); + } + + /** + * Enters a new state. + * + * @param newState the new state to enter + * @throws IllegalArgumentException if the new state does not belong to this state machine + */ + private void enter(ServerState newState) { + if (newState.parent != this) + throw new IllegalArgumentException("Wrong state: " + newState + " belongs to " + newState.parent + " instead of " + this); + state = newState; + state.entry(); + } + + /** + * This method is called when the state is exited. + */ + @Override + public void exit() { + state.exit(); + } + + /** + * This method is called when an animation ends. + * + * @param msg the animation end message + */ + @Override + public void receivedAnimationEnd(AnimationEnd msg, int from) { + state.receivedAnimationEnd(msg, from); + } + + /** + * This method is called when a TSK is deselected. + * + * @param msg the deselect TSK message + */ + @Override + public void receivedDeselectTSK(DeselectTSK msg, int from) { + state.receivedDeselectTSK(msg, from); + } + + /** + * This method is called when a NoPowerCard message is received. + * + * @param msg the NoPowerCard message + */ + @Override + public void receivedNoPowerCard(NoPowerCard msg, int from) { + state.receivedNoPowerCard(msg, from); + } + + /** + * This method is called when a LobbyNotReady message is received. + * + * @param msg the LobbyNotReady message + */ + @Override + public void receivedNotReady(LobbyNotReady msg, int from) { + state.receivedNotReady(msg, from); + } + + /** + * This method is called when a LobbyReady message is received. + * + * @param msg the LobbyReady message + */ + @Override + public void receivedReady(LobbyReady msg, int from) { + state.receivedReady(msg, from); + } + + /** + * This method is called when a RequestDice message is received. + * + * @param msg the RequestDice message + */ + @Override + public void receivedRequestDice(RequestDice msg, int from) { + state.receivedRequestDice(msg, from); + } + + /** + * This method is called when a RequestMove message is received. + * + * @param msg the RequestMove message + */ + @Override + public void receivedRequestMove(RequestMove msg, int from) { + state.receivedRequestMove(msg, from); + } + + /** + * This method is called when a SelectCard message is received. + * + * @param msg the SelectCard message + */ + @Override + public void receivedSelectCard(SelectCard msg, int from) { + state.receivedSelectCard(msg, from); + } + + /** + * This method is called when a SelectTSK message is received. + * + * @param msg the SelectTSK message + */ + @Override + public void receivedSelectTSK(SelectTSK msg, int from) { + state.receivedSelectTSK(msg, from); + } + + /** + * This method is called when a SelectedPieces message is received. + * + * @param msg the SelectedPieces message + */ + @Override + public void receivedSelectedPieces(SelectedPieces msg, int from) { + state.receivedSelectedPieces(msg, from); + } + + /** + * This method is called when a StartGame message is received. + * + * @param msg the StartGame message + */ + @Override + public void receivedStartGame(ClientStartGame msg, int from) { + state.receivedStartGame(msg, from); + } + + /** + * This method is called when an EndOfTurn message is sent. + * + * @param msg the EndOfTurn message + */ + @Override + public void sentEndOfTurn(EndOfTurn msg, int from) { + state.sentEndOfTurn(msg, from); + } + + /** + * This method is called when a PossibleCard message is sent. + * + * @param msg the PossibleCard message + */ + @Override + public void sentPossibleCard(PossibleCard msg, int from) { + state.sentPossibleCard(msg, from); + } + + /** + * This method is called when a RankingResponce message is sent. + * + * @param msg the RankingResponce message + */ + @Override + public void sentRankingResponse(RankingResponce msg, int from) { + state.sentRankingResponse(msg, from); + } + + /** + * Returns a string representation of the object, including the current state. + * + * @return the string representation of the object + */ + @Override + public String toString() { + return super.toString() + "(in " + state + ")"; + } + + /** + * Returns the current state. + * + * @return the current state + */ + public ServerState getState() { + return state; + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/StartPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/StartPiece.java new file mode 100644 index 00000000..f18641a2 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/StartPiece.java @@ -0,0 +1,21 @@ +package pp.mdga.server; + +import pp.mdga.game.Piece; +import pp.mdga.game.Player; +import pp.mdga.message.client.RequestMove; + +public class StartPiece extends ServerState { + public StartPiece(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedRequestMove(RequestMove msg, int from) { +// if (verifyPiece(p)) { +// logic.send(new Player(1), new Animation()); +// // todo: goto state +// } else { +// logic.send(new Player(1), new pp.mdga.message.server.StartPiece()); +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/ThirdRoll.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/ThirdRoll.java new file mode 100644 index 00000000..ebe9fd77 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/ThirdRoll.java @@ -0,0 +1,25 @@ +package pp.mdga.server; + +import pp.mdga.game.Player; +import pp.mdga.message.client.RequestDice; +import pp.mdga.message.server.Dice; +import pp.mdga.message.server.DiceAgain; + +public class ThirdRoll extends ServerState { + public ThirdRoll(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedRequestDice(RequestDice msg, int from) { +// if (roll == 6) { +// // todo: send to everyone? or one player? +// logic.send(new Player(1), new Dice()); +// // todo: goto ChoosePiece +// } else { +// // todo: send to everyone? or one player? +// logic.send(new Player(1), new DiceAgain()); +// // todo: goto End from Turn +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/Turn.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/Turn.java new file mode 100644 index 00000000..aeb05091 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/Turn.java @@ -0,0 +1,36 @@ +package pp.mdga.server; + +import pp.mdga.client.Spectator; +import pp.mdga.game.Player; +import pp.mdga.message.server.ActivePlayer; +import pp.mdga.message.server.Ceremony; +import pp.mdga.message.server.EndOfTurn; + +public class Turn extends ServerState { + private final TurnStateMachine turnStateMachine = new TurnStateMachine(this, logic); + + public Turn(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + // todo: when TurnStateMachine is in the end state, and then? + @Override + public void exit() { + Player player = logic.getGame().getStartPlayer(); + +// if (player.isFinished()) { +// logic.send(player, new Spectator()); +// } else { +// logic.send(player, new EndOfTurn()); +// } + + if (logic.getGame().getPlayers().size() == 1) { + broadcastUpdate(new Ceremony()); + this.getParent().getParent().exit(); + } else { + // todo: next player +// broadcastUpdate(new ActivePlayer()); + parent.gotoState(new Animation(parent, logic)); + } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/TurnStateMachine.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/TurnStateMachine.java new file mode 100644 index 00000000..a5974332 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/TurnStateMachine.java @@ -0,0 +1,12 @@ +package pp.mdga.server; + +public class TurnStateMachine extends ServerStateMachine { + public TurnStateMachine(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public PowerCard initialState() { + return new PowerCard(this, logic); + } +} diff --git a/Projekte/mdga/model/src/main/java/pp.mdga/server/WaitingPiece.java b/Projekte/mdga/model/src/main/java/pp.mdga/server/WaitingPiece.java new file mode 100644 index 00000000..a284a451 --- /dev/null +++ b/Projekte/mdga/model/src/main/java/pp.mdga/server/WaitingPiece.java @@ -0,0 +1,23 @@ +package pp.mdga.server; + +import pp.mdga.game.Piece; +import pp.mdga.game.Player; +import pp.mdga.message.client.RequestDice; +import pp.mdga.message.client.RequestMove; +import pp.mdga.message.server.StartPiece; + +public class WaitingPiece extends ServerState { + public WaitingPiece(ServerState parent, ServerGameLogic logic) { + super(parent, logic); + } + + @Override + public void receivedRequestMove(RequestMove msg, int from) { +// if (verifyPiece(p)) { +// logic.send(new Player(1), new Animation()); +// // todo: goto state +// } else { +// logic.send(new Player(1), new StartPiece()); +// } + } +} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java deleted file mode 100644 index dd83c91e..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/CeremonyState.java +++ /dev/null @@ -1,19 +0,0 @@ -package pp.mdga.client; - -public class CeremonyState extends ClientState { - - - public CeremonyState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java deleted file mode 100644 index c40f7e02..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientGameLogic.java +++ /dev/null @@ -1,278 +0,0 @@ -package pp.mdga.client; - -import pp.mdga.game.Color; -import pp.mdga.game.Game; -import pp.mdga.game.Piece; -import pp.mdga.game.PlayerData; -import pp.mdga.message.client.ClientMessage; -import pp.mdga.message.server.*; -import pp.mdga.notification.*; - -import java.util.ArrayList; -import java.util.Map; -import java.util.UUID; - -public class ClientGameLogic implements ServerInterpreter { - static final System.Logger LOGGER = System.getLogger(ClientGameLogic.class.getName()); - - private Game game; - private final ClientSender clientSender; - private ClientState state; - private final ArrayList notifications = new ArrayList<>(); - - private final DialogsState dialogsState = new DialogsState(null, this); - private final GameState gameState = new GameState(null, this); - private final CeremonyState ceremonyState = new CeremonyState(null, this); - private final InterruptState interruptState = new InterruptState(null, this); - - public ClientGameLogic(Game game, ClientSender clientSender) { - this.game = game; - this.clientSender = clientSender; - state = dialogsState; - } - - public void send(ClientMessage msg){ - LOGGER.log(System.Logger.Level.INFO, "send {0}", msg); - clientSender.send(msg); - } - - private Piece getPiece(UUID pieceId){ - for(Map.Entry entry : game.getBoard().getPlayerData().entrySet()){ - for(Piece piece : entry.getValue().getPieces()){ - if(piece.getUuid().equals(pieceId)){ - return piece; - } - } - } - return null; - } - - public ClientSender getClientSender(){ - return clientSender; - } - - public Game getGame(){ - return game; - } - - public ClientState getState(){ - return state; - } - - @Override - public void received(ActivePlayerMessage msg) { - state.received(msg); - } - - @Override - public void received(AnyPieceMessage msg) { - state.received(msg); - } - - @Override - public void received(BriefingMessage msg) { - state.received(msg); - } - - @Override - public void received(CeremonyMessage msg) { - state.received(msg); - } - - @Override - public void received(DieMessage msg) { - state.received(msg); - } - - @Override - public void received(DiceAgainMessage msg) { - state.received(msg); - } - - @Override - public void received(DiceNowMessage msg) { - state.received(msg); - } - - @Override - public void received(EndOfTurnMessage msg) { - state.received(msg); - } - - @Override - public void received(LobbyAcceptMessage msg) { - state.received(msg); - } - - @Override - public void received(LobbyDenyMessage msg) { - state.received(msg); - } - - @Override - public void received(LobbyPlayerJoinMessage msg) { - state.received(msg); - } - - @Override - public void received(LobbyPlayerLeaveMessage msg) { - state.received(msg); - } - - @Override - public void received(MoveMessage msg) { - state.received(msg); - } - - @Override - public void received(NoTurnMessage msg) { - state.received(msg); - } - - @Override - public void received(PauseGameMessage msg) { - state.received(msg); - } - - @Override - public void received(PlayCardMessage msg) { - state.received(msg); - } - - @Override - public void received(PossibleCardMessage msg) { - state.received(msg); - } - - @Override - public void received(PossiblePieceMessage msg) { - state.received(msg); - } - - @Override - public void received(RankingResponseMessage msg) { - state.received(msg); - } - - @Override - public void received(RankingRollAgainMessage msg) { - state.received(msg); - } - - @Override - public void received(ReconnectBriefingMessage msg) { - state.received(msg); - } - - @Override - public void received(ResumeGameMessage msg) { - state.received(msg); - } - - @Override - public void received(ServerStartGameMessage msg) { - state.received(msg); - } - - @Override - public void received(StartPieceMessage msg) { - state.received(msg); - } - - @Override - public void received(UpdateReadyMessage msg) { - state.received(msg); - } - - @Override - public void received(UpdateTSKMessage msg) { - state.received(msg); - } - - @Override - public void received(WaitPieceMessage msg) { - state.received(msg); - } - - @Override - public void received(SpectatorMessage msg) { - state.received(msg); - } - - @Override - public void received(SelectPieceMessage msg) { - - } - - public void selectPiece(UUID pieceId){ - state.selectPiece(getPiece(pieceId)); - } - - //TODO: implement - public void selectCard(UUID cardId){ - state.selectCard(null); - } - - public void selectTsk(Color color){ - state.selectTSK(color); - } - - public void selectDice(){ - state.selectDice(); - } - - public void selectName(String name){ - state.setName(name); - } - - public void selectReady(boolean ready){ - state.selectReady(); - } - - public void selectHost(String name){ - state.selectHost(name); - } - - public void selectLeave(){ - state.selectLeave(); - } - - public void selectJoin(String name){ - state.selectJoin(name); - } - - public void selectAnimationEnd(){ - state.selectAnimationEnd(); - } - - public void selectStart(){ - state.selectStart(); - } - - public void setState(ClientState state){ - this.state.exit(); - state.enter(); - this.state = state; - } - - public GameState getGameState(){ - return gameState; - } - - public CeremonyState getCeremony(){ - return ceremonyState; - } - - public InterruptState getInterrupt(){ - return interruptState; - } - - public DialogsState getDialogs(){ - return dialogsState; - } - - public Notification getNotification(){ - return notifications.remove(0); - } - -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientSender.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientSender.java deleted file mode 100644 index 26f0df85..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientSender.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.client; - -import pp.mdga.message.client.ClientMessage; - -public interface ClientSender { - void send(ClientMessage msg); -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java deleted file mode 100644 index a9accf58..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ClientState.java +++ /dev/null @@ -1,233 +0,0 @@ -package pp.mdga.client; - -import pp.mdga.game.BonusCard; -import pp.mdga.game.Color; -import pp.mdga.game.Piece; -import pp.mdga.message.server.*; - -import java.lang.System.Logger.Level; - -public abstract class ClientState implements Observer, ServerInterpreter { - protected static final System.Logger LOGGER = System.getLogger(ClientState.class.getName()); - - protected ClientState parent; - - protected ClientGameLogic logic; - - protected ClientState(ClientState parent, ClientGameLogic logic){ - this.parent = parent; - this.logic = logic; - } - - public abstract void enter(); - - public abstract void exit(); - - public ClientState getParent(){ - return parent; - } - - public void update() {/* do nothing */} - - @Override - public String toString(){ - return getClass().getSimpleName(); - } - - @Override - public void received(ActivePlayerMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(AnyPieceMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(BriefingMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(CeremonyMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(DieMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(DiceAgainMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(DiceNowMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(EndOfTurnMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(LobbyAcceptMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(LobbyDenyMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(LobbyPlayerJoinMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(LobbyPlayerLeaveMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(MoveMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(NoTurnMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(PauseGameMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(PlayCardMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(PossibleCardMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(PossiblePieceMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(RankingResponseMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(RankingRollAgainMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(ReconnectBriefingMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(ResumeGameMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(ServerStartGameMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(StartPieceMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(UpdateReadyMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(UpdateTSKMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(SpectatorMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(SelectPieceMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - @Override - public void received(WaitPieceMessage msg) { - LOGGER.log(Level.DEBUG, "Received {0} not allowed.", msg); - } - - public void selectPiece(Piece piece) { - LOGGER.log(Level.DEBUG, "Selecting piece not allowed."); - } - - public void selectCard(BonusCard card) { - LOGGER.log(Level.DEBUG, "Selecting card not allowed."); - } - - public void selectTSK(Color color) { - LOGGER.log(Level.DEBUG, "Selecting TSK not allowed."); - } - - public void selectDice() { - LOGGER.log(Level.DEBUG, "Selecting dice not allowed."); - } - - public void setName(String name) { - LOGGER.log(Level.DEBUG, "Setting name not allowed."); - } - - public void selectReady() { - LOGGER.log(Level.DEBUG, "Selecting ready not allowed."); - } - - public void selectHost(String name) { - LOGGER.log(Level.DEBUG, "Selecting host not allowed."); - } - - public void selectJoin(String name) { - LOGGER.log(Level.DEBUG, "Selecting join not allowed."); - } - - public void selectLeave() { - LOGGER.log(Level.DEBUG, "Selecting leave not allowed."); - } - - public void deselectTSK(Color color) { - LOGGER.log(Level.DEBUG, "Deselecting TSK not allowed."); - } - - public void selectUnready(){ - LOGGER.log(Level.DEBUG, "Selecting unready not allowed."); - } - - public void selectStart(){ - LOGGER.log(Level.DEBUG, "Starting not allowed"); - } - - public void selectAnimationEnd(){ - LOGGER.log(Level.DEBUG, "Animation end not allowed"); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java deleted file mode 100644 index 7f30a8c4..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/DialogsState.java +++ /dev/null @@ -1,72 +0,0 @@ -package pp.mdga.client; - -import pp.mdga.client.dialogState.DialogStates; -import pp.mdga.client.dialogState.LobbyState; -import pp.mdga.client.dialogState.NetworkDialogState; -import pp.mdga.client.dialogState.StartDialogState; -import pp.mdga.game.Player; -import pp.mdga.message.server.LobbyPlayerJoinMessage; -import pp.mdga.message.server.LobbyPlayerLeaveMessage; - -public class DialogsState extends ClientState { - - private DialogStates currentState; - - private Player ownPlayer; - - private final LobbyState lobbyState = new LobbyState(this, logic); - private final NetworkDialogState networkDialogState = new NetworkDialogState(this, logic); - private final StartDialogState startDialogState = new StartDialogState(this, logic); - - - public DialogsState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void exit(){ - currentState.exit(); - } - - @Override - public void enter(){ - currentState = startDialogState; - } - - public void setState(DialogStates newState){ - currentState.exit(); - currentState.enter(); - currentState = newState; - } - - public Player getOwnPlayer() { - return ownPlayer; - } - - public LobbyState getLobby() { - return lobbyState; - } - - public NetworkDialogState getNetworkDialog() { - return networkDialogState; - } - - public StartDialogState getStartDialog() { - return startDialogState; - } - - public void startGame(){ - exit(); - logic.setState(logic.getGameState()); - } - - @Override - public void received(LobbyPlayerJoinMessage msg){ - currentState.received(msg); - } - - @Override - public void received(LobbyPlayerLeaveMessage msg){ - currentState.received(msg); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java deleted file mode 100644 index 56901970..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/GameState.java +++ /dev/null @@ -1,60 +0,0 @@ -package pp.mdga.client; - -import pp.mdga.client.gameState.*; - -public class GameState extends ClientState { - - private GameStates state; - - private final AnimationState animationState = new AnimationState(this, logic); - private final DetermineStartPlayerState determineStartPlayerState = new DetermineStartPlayerState(this, logic); - private final SpectatorState spectatorState = new SpectatorState(this, logic); - private final TurnState turnState = new TurnState(this, logic); - private final WaitingState waitingState = new WaitingState(this, logic); - - public GameState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - state = determineStartPlayerState; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - public void setState(GameStates newState){ - state.exit(); - state.enter(); - state = newState; - } - - @Override - public void selectAnimationEnd(){ - state.selectAnimationEnd(); - } - - public AnimationState getAnimation() { - return animationState; - } - - public DetermineStartPlayerState getDetermineStartPlayer() { - return determineStartPlayerState; - } - - public SpectatorState getSpectator() { - return spectatorState; - } - - public TurnState getTurn() { - return turnState; - } - - public WaitingState getWaiting() { - return waitingState; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/InterruptState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/InterruptState.java deleted file mode 100644 index f58e2fe7..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/InterruptState.java +++ /dev/null @@ -1,18 +0,0 @@ -package pp.mdga.client; - -public class InterruptState extends ClientState { - - public InterruptState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java deleted file mode 100644 index 88800cc8..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/SettingsState.java +++ /dev/null @@ -1,18 +0,0 @@ -package pp.mdga.client; - -public class SettingsState extends ClientState { - - public SettingsState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/CeremonyStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/CeremonyStates.java deleted file mode 100644 index 8bd888c7..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/CeremonyStates.java +++ /dev/null @@ -1,10 +0,0 @@ -package pp.mdga.client.ceremonyState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public abstract class CeremonyStates extends ClientState { - protected CeremonyStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/PodiumState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/PodiumState.java deleted file mode 100644 index b6a5c535..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/PodiumState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.ceremonyState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class PodiumState extends CeremonyStates { - public PodiumState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/StatisticsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/StatisticsState.java deleted file mode 100644 index fdc5de34..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/ceremonyState/StatisticsState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.ceremonyState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class StatisticsState extends CeremonyStates { - public StatisticsState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/DialogStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/DialogStates.java deleted file mode 100644 index f4c549d2..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/DialogStates.java +++ /dev/null @@ -1,11 +0,0 @@ -package pp.mdga.client.dialogState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public abstract class DialogStates extends ClientState { - - public DialogStates(ClientState parent, ClientGameLogic logic){ - super(parent, logic); - } -} 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 deleted file mode 100644 index 5f09da11..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/LobbyState.java +++ /dev/null @@ -1,76 +0,0 @@ -package pp.mdga.client.dialogState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.DialogsState; -import pp.mdga.game.Color; -import pp.mdga.game.Player; -import pp.mdga.message.client.*; -import pp.mdga.message.server.LobbyPlayerJoinMessage; -import pp.mdga.message.server.LobbyPlayerLeaveMessage; -import pp.mdga.message.server.ServerStartGameMessage; - -public class LobbyState extends DialogStates { - - private final DialogsState parent; - - public LobbyState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (DialogsState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void selectLeave() { - parent.setState(parent.getStartDialog()); - } - - @Override - public void selectTSK(Color color) { - logic.send(new SelectTSKMessage(color)); - } - - @Override - public void deselectTSK(Color color) { - logic.send(new DeselectTSKMessage(color)); - } - - @Override - public void selectReady() { - logic.send(new LobbyReadyMessage()); - } - - @Override - public void selectUnready(){ - logic.send(new LobbyNotReadyMessage()); - } - - @Override - public void selectStart(){ - logic.send(new StartGameMessage()); - } - - @Override - public void received(ServerStartGameMessage msg){ - parent.startGame(); - } - - @Override - public void received(LobbyPlayerJoinMessage msg){ - logic.getGame().getPlayers().put(msg.getId(), new Player(msg.getName())); - } - - @Override - public void received(LobbyPlayerLeaveMessage msg){ - logic.getGame().getPlayers().remove(msg.getId()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/NetworkDialogState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/NetworkDialogState.java deleted file mode 100644 index f23abd9d..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/NetworkDialogState.java +++ /dev/null @@ -1,63 +0,0 @@ -package pp.mdga.client.dialogState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.DialogsState; - -public class NetworkDialogState extends DialogStates { - - private final DialogsState parent; - - public NetworkDialogState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (DialogsState) parent; - } - - private boolean checkIP(String IP){ - String[] parts = IP.split("\\."); - - // Step 2: Check if there are exactly 4 parts - if (parts.length != 4) { - return false; - } - - // Step 3: Check each part for valid number - for (String part : parts) { - try { - // Step 4: Convert each part into a number - int num = Integer.parseInt(part); - - // Step 5: Check whether the number lies in between 0 and 255 - if (num < 0 || num > 255) { - return false; - } - } catch (NumberFormatException e) { - // If parsing fails, it's not a valid number - return false; - } - } - - // If all checks passed, return true - return true; - } - - @Override - public void enter() { - } - - @Override - public void exit() { - } - - @Override - public void selectLeave() { - parent.setState(parent.getStartDialog()); - } - - public void selectJoin(String IP) { - if(checkIP(IP)){ - parent.setState(parent.getLobby()); - } - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/StartDialogState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/StartDialogState.java deleted file mode 100644 index 7e2bcc86..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/dialogState/StartDialogState.java +++ /dev/null @@ -1,39 +0,0 @@ -package pp.mdga.client.dialogState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.DialogsState; - -public class StartDialogState extends DialogStates { - - private final DialogsState parent; - - public StartDialogState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (DialogsState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - public void selectJoin(String name) { - parent.getOwnPlayer().setName(name); - parent.setState(parent.getNetworkDialog()); - } - - public void selectHost(String name) { - parent.getOwnPlayer().setName(name); - parent.setState(parent.getLobby()); - } - - public void selectLeave() { - parent.exit(); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/AnimationState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/AnimationState.java deleted file mode 100644 index a7aaf745..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/AnimationState.java +++ /dev/null @@ -1,32 +0,0 @@ -package pp.mdga.client.gameState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.GameState; -import pp.mdga.message.client.AnimationEndMessage; - -public class AnimationState extends GameStates { - - private final GameState parent; - - public AnimationState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (GameState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void selectAnimationEnd(){ - logic.send(new AnimationEndMessage()); - parent.setState(parent.getWaiting()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/DetermineStartPlayerState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/DetermineStartPlayerState.java deleted file mode 100644 index 0413ad9b..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/DetermineStartPlayerState.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.client.gameState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.GameState; -import pp.mdga.client.gameState.determineStartPlayerState.DetermineStartPlayerStates; -import pp.mdga.client.gameState.determineStartPlayerState.RollRankingDiceState; -import pp.mdga.client.gameState.determineStartPlayerState.WaitRankingState; - -public class DetermineStartPlayerState extends GameStates { - - private final GameState parent; - private DetermineStartPlayerStates state; - - private final RollRankingDiceState rollRankingDiceState = new RollRankingDiceState(this, logic); - private final WaitRankingState waitRankingState = new WaitRankingState(this, logic); - - public DetermineStartPlayerState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (GameState) parent; - } - - @Override - public void enter() { - state = rollRankingDiceState; - } - - @Override - public void exit() { - state = null; - } - - public void setState(DetermineStartPlayerStates state) { - this.state.exit(); - state.enter(); - this.state = state; - } - - public RollRankingDiceState getRollRankingDice() { - return rollRankingDiceState; - } - - public WaitRankingState getWaitRanking() { - return waitRankingState; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/GameStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/GameStates.java deleted file mode 100644 index 05d1c404..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/GameStates.java +++ /dev/null @@ -1,10 +0,0 @@ -package pp.mdga.client.gameState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public abstract class GameStates extends ClientState { - public GameStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/SpectatorState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/SpectatorState.java deleted file mode 100644 index 001454bc..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/SpectatorState.java +++ /dev/null @@ -1,26 +0,0 @@ -package pp.mdga.client.gameState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.message.server.CeremonyMessage; - -public class SpectatorState extends GameStates { - public SpectatorState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void received(CeremonyMessage msg){ - logic.setState(logic.getCeremony()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/TurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/TurnState.java deleted file mode 100644 index c0af142d..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/TurnState.java +++ /dev/null @@ -1,92 +0,0 @@ -package pp.mdga.client.gameState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.GameState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; -import pp.mdga.client.gameState.turnState.MovePieceState; -import pp.mdga.client.gameState.turnState.PlayPowerCardState; -import pp.mdga.client.gameState.turnState.PowerCardState; -import pp.mdga.client.gameState.turnState.RollDiceState; -import pp.mdga.client.gameState.turnState.TurnStates; -import pp.mdga.message.server.CeremonyMessage; -import pp.mdga.message.server.EndOfTurnMessage; -import pp.mdga.message.server.NoTurnMessage; -import pp.mdga.message.server.SpectatorMessage; - -public class TurnState extends GameStates { - - private GameState parent; - private TurnStates state; - - private final ChoosePieceState choosePieceState = new ChoosePieceState(this, logic); - private final MovePieceState movePieceState = new MovePieceState(this, logic); - private final PlayPowerCardState playPowerCardState = new PlayPowerCardState(this, logic); - private final PowerCardState powerCardState = new PowerCardState(this, logic); - private final RollDiceState rollDiceState = new RollDiceState(this, logic); - - public TurnState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (GameState) parent; - } - - @Override - public void enter() { - state = powerCardState; - } - - @Override - public void exit() { - state = null; - } - - public void setState(TurnStates state){ - this.state.exit(); - state.enter(); - this.state = state; - } - - @Override - public void received(NoTurnMessage msg){ - parent.setState(parent.getWaiting()); - } - - @Override - public void received(EndOfTurnMessage msg){ - parent.setState(parent.getWaiting()); - } - - @Override - public void received(CeremonyMessage msg){ - logic.setState(logic.getCeremony()); - } - - @Override - public void received(SpectatorMessage msg){ - parent.setState(parent.getSpectator()); - } - - public ChoosePieceState getChoosePiece() { - return choosePieceState; - } - - public MovePieceState getMovePiece() { - return movePieceState; - } - - public PlayPowerCardState getPlayPowerCard() { - return playPowerCardState; - } - - public PowerCardState getPowerCard() { - return powerCardState; - } - - public RollDiceState getRollDice() { - return rollDiceState; - } - - public GameState getParent(){ - return parent; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/WaitingState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/WaitingState.java deleted file mode 100644 index 4b6f3f87..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/WaitingState.java +++ /dev/null @@ -1,43 +0,0 @@ -package pp.mdga.client.gameState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.GameState; -import pp.mdga.message.server.CeremonyMessage; -import pp.mdga.message.server.DiceNowMessage; -import pp.mdga.message.server.EndOfTurnMessage; - -public class WaitingState extends GameStates { - - private final GameState parent; - - public WaitingState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (GameState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void received(CeremonyMessage msg){ - logic.setState(logic.getCeremony()); - } - - @Override - public void received(DiceNowMessage msg){ - parent.setState(parent.getTurn()); - } - - @Override - public void received(EndOfTurnMessage msg){ - parent.setState(parent.getWaiting()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/DetermineStartPlayerStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/DetermineStartPlayerStates.java deleted file mode 100644 index 6be7ece5..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/DetermineStartPlayerStates.java +++ /dev/null @@ -1,12 +0,0 @@ -package pp.mdga.client.gameState.determineStartPlayerState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.GameStates; - -public abstract class DetermineStartPlayerStates extends GameStates { - public DetermineStartPlayerStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/RollRankingDiceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/RollRankingDiceState.java deleted file mode 100644 index 43796e7a..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/RollRankingDiceState.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.client.gameState.determineStartPlayerState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.DetermineStartPlayerState; -import pp.mdga.message.client.RequestDieMessage; -import pp.mdga.message.server.DieMessage; - -public class RollRankingDiceState extends DetermineStartPlayerStates { - - private final DetermineStartPlayerState parent; - - public RollRankingDiceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (DetermineStartPlayerState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void selectDice(){ - logic.send(new RequestDieMessage()); - } - - @Override - public void received(DieMessage msg){ - parent.setState(parent.getWaitRanking()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/WaitRankingState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/WaitRankingState.java deleted file mode 100644 index 6f470ba3..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/determineStartPlayerState/WaitRankingState.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.client.gameState.determineStartPlayerState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.DetermineStartPlayerState; -import pp.mdga.message.server.RankingResponseMessage; -import pp.mdga.message.server.RankingRollAgainMessage; - -public class WaitRankingState extends DetermineStartPlayerStates { - - private final DetermineStartPlayerState parent; - - public WaitRankingState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (DetermineStartPlayerState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void received(RankingRollAgainMessage msg){ - parent.setState(parent.getRollRankingDice()); - } - - @Override - public void received(RankingResponseMessage msg){ - //TODO: implement - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/ChoosePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/ChoosePieceState.java deleted file mode 100644 index d5d86ffd..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/ChoosePieceState.java +++ /dev/null @@ -1,58 +0,0 @@ -package pp.mdga.client.gameState.turnState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; -import pp.mdga.client.gameState.turnState.choosePieceState.*; - -public class ChoosePieceState extends TurnStates { - - private TurnState parent; - private ChoosePieceStates currentState; - - private final NoPieceState noPieceState = new NoPieceState(this, logic); - private final SelectPieceState selectPieceState = new SelectPieceState(this, logic); - private final StartPieceState startPieceState = new StartPieceState(this, logic); - private final WaitingPieceState waitingPieceState = new WaitingPieceState(this, logic); - - public ChoosePieceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (TurnState) parent; - } - - @Override - public void enter() { - currentState = noPieceState; - } - - @Override - public void exit() { - - } - - public void setState(ChoosePieceStates state){ - currentState.exit(); - currentState = state; - currentState.enter(); - } - - public NoPieceState getNoPiece(){ - return noPieceState; - } - - public SelectPieceState getSelectPiece(){ - return selectPieceState; - } - - public StartPieceState getStartPiece(){ - return startPieceState; - } - - public WaitingPieceState getWaitingPiece(){ - return waitingPieceState; - } - - public TurnState getParent(){ - return parent; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/MovePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/MovePieceState.java deleted file mode 100644 index 9747e656..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/MovePieceState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.gameState.turnState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class MovePieceState extends TurnStates { - public MovePieceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PlayPowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PlayPowerCardState.java deleted file mode 100644 index 4457dd72..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PlayPowerCardState.java +++ /dev/null @@ -1,32 +0,0 @@ -package pp.mdga.client.gameState.turnState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; -import pp.mdga.message.server.PlayCardMessage; - -public class PlayPowerCardState extends TurnStates { - - private final TurnState parent; - - private PlayCardMessage playCardMessage; - - public PlayPowerCardState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (TurnState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - playCardMessage = null; - } - - public void setPlayCard(PlayCardMessage playCardMessage) { - this.playCardMessage = playCardMessage; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PowerCardState.java deleted file mode 100644 index 1a880df4..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/PowerCardState.java +++ /dev/null @@ -1,57 +0,0 @@ -package pp.mdga.client.gameState.turnState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.TurnState; -import pp.mdga.client.gameState.turnState.powerCardState.ChoosePowerCardState; -import pp.mdga.client.gameState.turnState.powerCardState.PowerCardStates; -import pp.mdga.client.gameState.turnState.powerCardState.ShieldState; -import pp.mdga.client.gameState.turnState.powerCardState.SwapState; - -public class PowerCardState extends TurnStates { - - private final TurnState parent; - private PowerCardStates state; - - private final ChoosePowerCardState choosePowerCardState = new ChoosePowerCardState(this, logic); - private final ShieldState shieldState = new ShieldState(this, logic); - private final SwapState swapState = new SwapState(this, logic); - - - public PowerCardState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (TurnState) parent; - } - - @Override - public void enter() { - state = choosePowerCardState; - } - - @Override - public void exit() { - state = null; - } - - public void setState(PowerCardStates state) { - this.state.exit(); - state.enter(); - this.state = state; - } - - public ChoosePowerCardState getChoosePowerCard() { - return choosePowerCardState; - } - - public ShieldState getShield() { - return shieldState; - } - - public SwapState getSwap() { - return swapState; - } - - public TurnState getParent() { - return parent; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/RollDiceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/RollDiceState.java deleted file mode 100644 index f83ba268..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/RollDiceState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.gameState.turnState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class RollDiceState extends TurnStates { - public RollDiceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/TurnStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/TurnStates.java deleted file mode 100644 index 6ca2cd4d..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/TurnStates.java +++ /dev/null @@ -1,11 +0,0 @@ -package pp.mdga.client.gameState.turnState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.GameStates; - -public abstract class TurnStates extends GameStates { - public TurnStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/ChoosePieceStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/ChoosePieceStates.java deleted file mode 100644 index 231b2d37..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/ChoosePieceStates.java +++ /dev/null @@ -1,11 +0,0 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.TurnStates; - -public abstract class ChoosePieceStates extends TurnStates { - public ChoosePieceStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/NoPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/NoPieceState.java deleted file mode 100644 index 187fb4e5..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/NoPieceState.java +++ /dev/null @@ -1,51 +0,0 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; -import pp.mdga.message.server.*; -import pp.mdga.message.server.StartPieceMessage; - -import java.util.ArrayList; -import java.util.stream.Collectors; - -public class NoPieceState extends ChoosePieceStates { - - private final ChoosePieceState parent; - - public NoPieceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (ChoosePieceState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void received(SelectPieceMessage msg) { - parent.setState(parent.getSelectPiece()); - parent.getSelectPiece().setPossiblePieces(msg.getPieces().stream().map(piece -> logic.getGame().getPieceThroughIdentifier(piece)).collect(Collectors.toCollection(ArrayList::new))); - } - - @Override - public void received(WaitPieceMessage msg){ - parent.setState(parent.getWaitingPiece()); - } - - @Override - public void received(StartPieceMessage msg){ - parent.setState(parent.getStartPiece()); - } - - @Override - public void received(NoTurnMessage msg){ - parent.getParent().getParent().setState(parent.getParent().getParent().getWaiting()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/SelectPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/SelectPieceState.java deleted file mode 100644 index 9b7e7513..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/SelectPieceState.java +++ /dev/null @@ -1,47 +0,0 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; -import pp.mdga.game.Piece; -import pp.mdga.message.client.SelectedPiecesMessage; -import pp.mdga.message.server.MoveMessage; - -import java.util.ArrayList; - -public class SelectPieceState extends ChoosePieceStates { - - private final ChoosePieceState parent; - private ArrayList possiblePieces; - - public SelectPieceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (ChoosePieceState) parent; - } - - @Override - public void enter() { - possiblePieces = new ArrayList<>(); - } - - @Override - public void exit() { - - } - - public void setPossiblePieces(ArrayList possiblePieces){ - this.possiblePieces = possiblePieces; - } - - @Override - public void selectPiece(Piece piece){ - if(possiblePieces.contains(piece)){ - logic.send(new SelectedPiecesMessage(piece.getIdentifier())); - } - } - - @Override - public void received(MoveMessage msg){ - parent.getParent().setState(parent.getParent().getMovePiece()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/StartPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/StartPieceState.java deleted file mode 100644 index a4d3c34c..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/StartPieceState.java +++ /dev/null @@ -1,42 +0,0 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; -import pp.mdga.game.Piece; -import pp.mdga.message.client.SelectedPiecesMessage; -import pp.mdga.message.server.MoveMessage; - -public class StartPieceState extends ChoosePieceStates { - - private final ChoosePieceState parent; - private Piece moveablePiece; - - - public StartPieceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (ChoosePieceState) parent; - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } - - @Override - public void selectPiece(Piece piece){ - if(moveablePiece.equals(piece)){ - logic.send(new SelectedPiecesMessage(piece.getIdentifier())); - } - } - - @Override - public void received(MoveMessage msg){ - parent.getParent().setState(parent.getParent().getMovePiece()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/WaitingPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/WaitingPieceState.java deleted file mode 100644 index 9ac3dff2..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/choosePieceState/WaitingPieceState.java +++ /dev/null @@ -1,40 +0,0 @@ -package pp.mdga.client.gameState.turnState.choosePieceState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.ChoosePieceState; -import pp.mdga.game.Piece; -import pp.mdga.message.client.SelectedPiecesMessage; -import pp.mdga.message.server.MoveMessage; - -public class WaitingPieceState extends ChoosePieceStates { - - private final ChoosePieceState parent; - private Piece moveablePiece; - - public WaitingPieceState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (ChoosePieceState) parent; - } - - @Override - public void enter() { - moveablePiece = null; - } - - @Override - public void exit() { - } - - @Override - public void selectPiece(Piece piece){ - if(moveablePiece.equals(piece)){ - logic.send(new SelectedPiecesMessage(piece.getIdentifier())); - } - } - - @Override - public void received(MoveMessage msg){ - parent.getParent().setState(parent.getParent().getMovePiece()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ChoosePowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ChoosePowerCardState.java deleted file mode 100644 index 3ebb3107..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ChoosePowerCardState.java +++ /dev/null @@ -1,66 +0,0 @@ -package pp.mdga.client.gameState.turnState.powerCardState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.PowerCardState; -import pp.mdga.game.BonusCard; -import pp.mdga.message.client.NoPowerCardMessage; -import pp.mdga.message.client.SelectCardMessage; -import pp.mdga.message.server.DiceNowMessage; -import pp.mdga.message.server.PossibleCardMessage; -import pp.mdga.message.server.PossiblePieceMessage; - -import java.util.ArrayList; -import java.util.stream.Collectors; - -public class ChoosePowerCardState extends PowerCardStates { - - private final PowerCardState parent; - private ArrayList possibleCards; - - public ChoosePowerCardState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (PowerCardState) parent; - } - - @Override - public void enter() { - possibleCards = new ArrayList<>(); - } - - @Override - public void exit() { - possibleCards = null; - } - - @Override - public void received(PossibleCardMessage msg){ - possibleCards = (ArrayList) msg.getPossibleCards(); - } - - @Override - public void selectCard(BonusCard card){ - if(card != null){ - logic.send(new SelectCardMessage(card)); - } else { - logic.send(new NoPowerCardMessage()); - } - } - - @Override - public void received(DiceNowMessage msg){ - parent.getParent().setState(parent.getParent().getRollDice()); - } - - @Override - public void received(PossiblePieceMessage msg){ - if (msg.getEnemyPossiblePieces().isEmpty()){ - parent.setState(parent.getShield()); - parent.getShield().setPossiblePieces(msg.getOwnPossiblePieces().stream().map(piece -> logic.getGame().getPieceThroughIdentifier(piece)).collect(Collectors.toCollection(ArrayList::new))); - } else { - parent.setState(parent.getSwap()); - parent.getSwap().setPossibleOwnPieces(msg.getOwnPossiblePieces().stream().map(piece -> logic.getGame().getPieceThroughIdentifier(piece)).collect(Collectors.toCollection(ArrayList::new))); - parent.getSwap().setPossibleEnemyPieces(msg.getEnemyPossiblePieces().stream().map(piece -> logic.getGame().getPieceThroughIdentifier(piece)).collect(Collectors.toCollection(ArrayList::new))); - } - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/PowerCardStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/PowerCardStates.java deleted file mode 100644 index 753e5aa8..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/PowerCardStates.java +++ /dev/null @@ -1,11 +0,0 @@ -package pp.mdga.client.gameState.turnState.powerCardState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.TurnStates; - -public abstract class PowerCardStates extends TurnStates { - public PowerCardStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ShieldState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ShieldState.java deleted file mode 100644 index dfe1fc04..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/ShieldState.java +++ /dev/null @@ -1,52 +0,0 @@ -package pp.mdga.client.gameState.turnState.powerCardState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.PowerCardState; -import pp.mdga.game.Piece; -import pp.mdga.message.client.RequestPlayCardMessage; -import pp.mdga.message.server.PlayCardMessage; - -import java.lang.System.Logger.Level; -import java.util.ArrayList; - -public class ShieldState extends PowerCardStates { - - private final PowerCardState parent; - - private ArrayList possiblePieces; - - public ShieldState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (PowerCardState) parent; - } - - @Override - public void enter() { - possiblePieces = new ArrayList<>(); - } - - @Override - public void exit() { - possiblePieces = null; - } - - public void setPossiblePieces(ArrayList possiblePieces) { - this.possiblePieces = possiblePieces; - } - - public void selectPiece(Piece piece) { - if (possiblePieces.contains(piece)) { - logic.send(RequestPlayCardMessage.requestPlayShield(piece.getIdentifier())); - } else { - LOGGER.log(Level.DEBUG, "Invalid piece selected"); - } - } - - - @Override - public void received(PlayCardMessage msg) { - parent.getParent().setState(parent.getParent().getPlayPowerCard()); - parent.getParent().getPlayPowerCard().setPlayCard(msg); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/SwapState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/SwapState.java deleted file mode 100644 index cce1556e..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/gameState/turnState/powerCardState/SwapState.java +++ /dev/null @@ -1,63 +0,0 @@ -package pp.mdga.client.gameState.turnState.powerCardState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; -import pp.mdga.client.gameState.turnState.PowerCardState; -import pp.mdga.game.Piece; -import pp.mdga.message.client.RequestPlayCardMessage; -import pp.mdga.message.server.PlayCardMessage; - -import java.util.ArrayList; - -public class SwapState extends PowerCardStates { - - private final PowerCardState parent; - - private ArrayList possibleOwnPieces; - private ArrayList possibleEnemyPieces; - private Piece selectedOwnPiece; - private Piece selectedEnemyPiece; - - public SwapState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - this.parent = (PowerCardState) parent; - } - - @Override - public void enter() { - possibleOwnPieces = new ArrayList<>(); - possibleEnemyPieces = new ArrayList<>(); - } - - @Override - public void exit() { - possibleOwnPieces = null; - possibleEnemyPieces = null; - } - - public void setPossibleOwnPieces(ArrayList possibleOwnPieces) { - this.possibleOwnPieces = possibleOwnPieces; - } - - public void setPossibleEnemyPieces(ArrayList possibleEnemyPieces) { - this.possibleEnemyPieces = possibleEnemyPieces; - } - - @Override - public void selectPiece(Piece piece){ - if (possibleOwnPieces.contains(piece)){ - selectedOwnPiece = piece; - } else if (possibleEnemyPieces.contains(piece)){ - selectedEnemyPiece = piece; - } - if (selectedOwnPiece != null && selectedEnemyPiece != null){ - logic.send(RequestPlayCardMessage.requestPlaySwap(selectedOwnPiece.getIdentifier(), selectedEnemyPiece.getIdentifier())); - } - } - - @Override - public void received(PlayCardMessage msg) { - parent.getParent().setState(parent.getParent().getPlayPowerCard()); - parent.getParent().getPlayPowerCard().setPlayCard(msg); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/AudioSettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/AudioSettingsState.java deleted file mode 100644 index 63fa3fff..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/AudioSettingsState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.settingsState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class AudioSettingsState extends SettingStates { - public AudioSettingsState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/MainSettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/MainSettingsState.java deleted file mode 100644 index 8e1b3f25..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/MainSettingsState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.settingsState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class MainSettingsState extends ClientState { - public MainSettingsState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/SettingStates.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/SettingStates.java deleted file mode 100644 index 2b9fb2ff..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/SettingStates.java +++ /dev/null @@ -1,10 +0,0 @@ -package pp.mdga.client.settingsState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public abstract class SettingStates extends ClientState { - public SettingStates(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/VideoSettingsState.java b/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/VideoSettingsState.java deleted file mode 100644 index 78b72f48..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/client/settingsState/VideoSettingsState.java +++ /dev/null @@ -1,20 +0,0 @@ -package pp.mdga.client.settingsState; - -import pp.mdga.client.ClientGameLogic; -import pp.mdga.client.ClientState; - -public class VideoSettingsState extends SettingStates { - public VideoSettingsState(ClientState parent, ClientGameLogic logic) { - super(parent, logic); - } - - @Override - public void enter() { - - } - - @Override - public void exit() { - - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java b/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java deleted file mode 100644 index 7e7e2344..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/game/Color.java +++ /dev/null @@ -1,12 +0,0 @@ -package pp.mdga.game; - -public enum Color { - AIRFORCE, - CYBER, - NAVY, - ARMY; - - public Color next() { - return values()[(ordinal() + 1) % values().length]; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java deleted file mode 100644 index ce605771..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/AnimationEndMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message indicating an animation event is finished in the game. - */ -@Serializable -public class AnimationEndMessage extends ClientMessage { - /** - * Constructs an AnimationEnd message. - */ - public AnimationEndMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "AnimationEnd{}"; - } - - /** - * Accepts a visitor for processing this message. - * - * @param interpreter the visitor to be used for processing - * @param from the connection ID of the sender - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java deleted file mode 100644 index 073e307e..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientInterpreter.java +++ /dev/null @@ -1,150 +0,0 @@ -package pp.mdga.message.client; - -/** - * Visitor interface for processing all client messages. - */ -public interface ClientInterpreter { - /** - * Processes a received AnimationEnd message. - * - * @param msg the AnimationEnd message to be processed - * @param from the connection ID from which the message was received - */ - void received(AnimationEndMessage msg, int from); - - /** - * Processes a received DeselectTSK message. - * - * @param msg the DeselectTSK message to be processed - * @param from the connection ID from which the message was received - */ - void received(DeselectTSKMessage msg, int from); - - /** - * Processes a received ForceStartGame message. - * - * @param msg the ForceStartGame message to be processed - * @param from the connection ID from which the message was received - */ - void received(StartGameMessage msg, int from); - - /** - * Processes a received JoinServer message. - * - * @param msg the JoinServer message to be processed - * @param from the connection ID from which the message was received - */ - void received(JoinServerMessage msg, int from); - - /** - * Processes a received LeaveGame message. - * - * @param msg the LeaveGame message to be processed - * @param from the connection ID from which the message was received - */ - void received(LeaveGameMessage msg, int from); - - /** - * Processes a received LobbyNotReady message. - * - * @param msg the LobbyNotReady message to be processed - * @param from the connection ID from which the message was received - */ - void received(LobbyNotReadyMessage msg, int from); - - /** - * Processes a received LobbyReady message. - * - * @param msg the LobbyReady message to be processed - * @param from the connection ID from which the message was received - */ - void received(LobbyReadyMessage msg, int from); - - /** - * Processes a received Disconnected message. - * - * @param msg the Disconnected message to be processed - * @param from the connection ID from which the message was received - */ - void received(DisconnectedMessage msg, int from); - - /** - * Processes a received RequestBriefing message. - * - * @param msg the RequestBriefing message to be processed - * @param from the connection ID from which the message was received - */ - void received(RequestBriefingMessage msg, int from); - - /** - * Processes a received RequestDie message. - * - * @param msg the RequestDie message to be processed - * @param from the connection ID from which the message was received - */ - void received(RequestDieMessage msg, int from); - - /** - * Processes a received RequestMove message. - * - * @param msg the RequestMove message to be processed - * @param from the connection ID from which the message was received - */ - void received(RequestMoveMessage msg, int from); - - /** - * Processes a received RequestPlayCard message. - * - * @param msg the RequestPlayCard message to be processed - * @param from the connection ID from which the message was received - */ - void received(RequestPlayCardMessage msg, int from); - - /** - * Processes a received SelectCard message. - * - * @param msg the SelectCard message to be processed - * @param from the connection ID from which the message was received - */ - void received(SelectCardMessage msg, int from); - - /** - * Processes a received SelectTSK message. - * - * @param msg the SelectTSK message to be processed - * @param from the connection ID from which the message was received - */ - void received(SelectTSKMessage msg, int from); - - /** - * Processes a received ForceContinueGame message. - * - * @param msg the ForceContinueGame message to be processed - * @param from the connection ID from which the message was received - */ - void received(ForceContinueGameMessage msg, int from); - - /** - * Processes a received ClientStartGame message. - * - * @param msg the ClientStartGame message to be processed - * @param from the connection ID from which the message was received - */ - void received(ClientStartGameMessage msg, int from); - - /** - * Processes a received NoPowerCard message. - * - * @param msg the NoPowerCard message to be processed - * @param from the connection ID from which the message was received - */ - void received(NoPowerCardMessage msg, int from); - - /** - * Processes a received SelectedPieces message. - * - * @param msg the SelectedPieces message to be processed - * @param from the connection ID from which the message was received - */ - void received(SelectedPiecesMessage msg, int from); -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java deleted file mode 100644 index 35a22cf2..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientMessage.java +++ /dev/null @@ -1,24 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.AbstractMessage; - -/** - * An abstract base class for client messages used in network transfer. - * It extends the AbstractMessage class provided by the jme3-network library. - */ -public abstract class ClientMessage extends AbstractMessage { - /** - * Constructs a new ClientMessage instance. - */ - protected ClientMessage() { - super(true); - } - - /** - * Accepts a visitor for processing this message. - * - * @param interpreter the visitor to be used for processing - * @param from the connection ID of the sender - */ - public abstract void accept(ClientInterpreter interpreter, int from); -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java deleted file mode 100644 index 3839a139..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ClientStartGameMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the host to start the game. - */ -@Serializable -public class ClientStartGameMessage extends ClientMessage { - /** - * Constructs a new ClientStartGame instance. - */ - public ClientStartGameMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ClientStartGame{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DeselectTSKMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DeselectTSKMessage.java deleted file mode 100644 index 658227e2..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DeselectTSKMessage.java +++ /dev/null @@ -1,62 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.Color; - -/** - * A message sent by a client to deselect a TSK. - */ -@Serializable -public class DeselectTSKMessage extends ClientMessage { - /** - * The color associated with the TSK to be deselected. - */ - private final Color color; - - /** - * Constructs a new DeselectTSK message with the specified color. - * - * @param color the color associated with the TSK to be deselected - */ - public DeselectTSKMessage(Color color) { - super(); - this.color = color; - } - - /** - * Default constructor for serialization purposes. - */ - private DeselectTSKMessage() { - color = null; - } - - /** - * Returns the color associated with the TSK to be deselected. - * - * @return the color associated with the TSK to be deselected - */ - public Color getColor() { - return color; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "DeselectTSK{" + "color=" + color + '}'; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java deleted file mode 100644 index ee85fae3..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/DisconnectedMessage.java +++ /dev/null @@ -1,34 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * - */ -@Serializable -public class DisconnectedMessage extends ClientMessage { - public DisconnectedMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ClientStartGame{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java deleted file mode 100644 index e654ea77..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/ForceContinueGameMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the host to force the continuation of the game, when the game was interrupted. - */ -@Serializable -public class ForceContinueGameMessage extends ClientMessage { - /** - * Constructs a new ForceContinueGame message. - */ - public ForceContinueGameMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ForceContinueGame{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinServerMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinServerMessage.java deleted file mode 100644 index 84f33051..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/JoinServerMessage.java +++ /dev/null @@ -1,49 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client when joining the server. - */ -@Serializable -public class JoinServerMessage extends ClientMessage { - - private final String name; - - /** - * Constructs a new JoinServer instance. - */ - public JoinServerMessage(String name) { - super(); - this.name = name; - } - - /** - * Constructs a new JoinServer instance. - */ - public JoinServerMessage() { - super(); - name = null; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "JoinServer{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java deleted file mode 100644 index 48b2d324..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LeaveGameMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to leave the game. - */ -@Serializable -public class LeaveGameMessage extends ClientMessage { - /** - * Constructs a new LeaveGame instance. - */ - public LeaveGameMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LeaveGame{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java deleted file mode 100644 index d0b966c8..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyNotReadyMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to unready in the lobby. - */ -@Serializable -public class LobbyNotReadyMessage extends ClientMessage { - /** - * Constructs a new LobbyNotReady instance. - */ - public LobbyNotReadyMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LobbyNotReady{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java deleted file mode 100644 index 47da4de6..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/LobbyReadyMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the client to ready-up in the lobby. - */ -@Serializable -public class LobbyReadyMessage extends ClientMessage { - /** - * Constructs a new LobbyReady instance. - */ - public LobbyReadyMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "LobbyReady{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java deleted file mode 100644 index c37f5787..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/NoPowerCardMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to indicate that the player is not using a power card. - */ -@Serializable -public class NoPowerCardMessage extends ClientMessage { - /** - * Constructs a new NoPowerCard instance. - */ - public NoPowerCardMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "NoPowerCard{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java deleted file mode 100644 index b47694ba..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestBriefingMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to request a briefing from the server. (after a reconnect) - */ -@Serializable -public class RequestBriefingMessage extends ClientMessage { - /** - * Constructs a new RequestBriefing instance. - */ - public RequestBriefingMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "RequestBriefing{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java deleted file mode 100644 index 52e09924..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestDieMessage.java +++ /dev/null @@ -1,37 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to request a die roll. - */ -@Serializable -public class RequestDieMessage extends ClientMessage { - /** - * Constructs a new RequestDie instance. - */ - public RequestDieMessage() { - super(); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "RequestDie{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestMoveMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestMoveMessage.java deleted file mode 100644 index 17ab5a8b..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestMoveMessage.java +++ /dev/null @@ -1,60 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to request a move for a piece. - */ -@Serializable -public class RequestMoveMessage extends ClientMessage { - /** - * The identifier for the piece. - */ - private final String pieceIdentifier; - - /** - * Constructor for RequestMove - * - * @param pieceIdentifier the piece identifier - */ - public RequestMoveMessage(String pieceIdentifier) { - this.pieceIdentifier = pieceIdentifier; - } - - /** - * Default constructor for serialization purposes. - */ - private RequestMoveMessage() { - pieceIdentifier = null; - } - - /** - * Getter for the piece identifier - * - * @return the piece identifier - */ - public String getPieceIdentifier() { - return pieceIdentifier; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "RequestMove{pieceIdentifier = " + pieceIdentifier + '}'; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java deleted file mode 100644 index d058e67e..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/RequestPlayCardMessage.java +++ /dev/null @@ -1,106 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.BonusCard; - -/** - * A message sent by a client to request playing a bonus card. - */ -@Serializable -public class RequestPlayCardMessage extends ClientMessage { - /** - * The bonus card to be played. - */ - private final BonusCard card; - - /** - * The identifier of the piece. - */ - private final String ownPieceIdentifier; - - private final String enemyPieceIdentifier; - - /** - * Constructs a new RequestPlayCard instance. - * - * @param card the bonus card to be played - * @param ownPieceIdentifier the identifier of the piece - */ - public RequestPlayCardMessage(BonusCard card, String ownPieceIdentifier, String enemyPieceIdentifier) { - this.ownPieceIdentifier = ownPieceIdentifier; - this.card = card; - this.enemyPieceIdentifier = enemyPieceIdentifier; - } - - /** - * Default constructor for serialization purposes. - */ - private RequestPlayCardMessage() { - card = null; - ownPieceIdentifier = null; - enemyPieceIdentifier = null; - } - - /** - * Creates a new RequestPlayCard instance for a given bonus card. - * - * @param ownPieceIdentifier the identifier of the piece - * @param enemyPieceIdentifier the identifier of the enemy piece - * @return a new RequestPlayCard instance - */ - public static RequestPlayCardMessage requestPlaySwap(String ownPieceIdentifier, String enemyPieceIdentifier){ - return new RequestPlayCardMessage(BonusCard.SWAP, ownPieceIdentifier, enemyPieceIdentifier); - } - - public static RequestPlayCardMessage requestPlayShield(String ownPieceIdentifier){ - return new RequestPlayCardMessage(BonusCard.SHIELD, ownPieceIdentifier, null); - } - - /** - * Gets the bonus card associated with this request. - * - * @return the bonus card - */ - public BonusCard getCard() { - return card; - } - - /** - * Gets the piece identifier associated with this request. - * - * @return the piece identifier - */ - public String getOwnPieceIdentifier() { - return ownPieceIdentifier; - } - - /** - * Gets the enemy piece identifier associated with this request. - * - * @return the enemy piece identifier - */ - public String getEnemyPieceIdentifier() { - return enemyPieceIdentifier; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "RequestPlayCard={card=" + card.toString() + '}'; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectCardMessage.java deleted file mode 100644 index edf6804d..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectCardMessage.java +++ /dev/null @@ -1,61 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.BonusCard; - -/** - * A message sent from the client to the server to select a bonus card. - */ -@Serializable -public class SelectCardMessage extends ClientMessage { - /** - * The bonus card to be selected. - */ - private final BonusCard card; - - /** - * Constructs a new SelectCard instance. - * - * @param card the bonus card to be selected - */ - public SelectCardMessage(BonusCard card) { - this.card = card; - } - - /** - * Default constructor for serialization purposes. - */ - private SelectCardMessage() { - card = null; - } - - /** - * Gets the bonus card associated with this selection. - * - * @return the bonus card - */ - public BonusCard getCard() { - return card; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "SelectCard{card=" + card + '}'; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java deleted file mode 100644 index 846d8c4f..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectTSKMessage.java +++ /dev/null @@ -1,56 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.Color; - -/** - * A message sent by a client to select a TSK. - */ -@Serializable -public class SelectTSKMessage extends ClientMessage { - /** - * The color associated with the TSK to be selected. - */ - private final Color color; - - /** - * Constructs a new SelectTSK message with the specified color. - * - * @param color the color associated with the TSK to be selected - */ - public SelectTSKMessage(Color color) { - this.color = color; - } - - /** - * Default constructor for serialization purposes. - */ - private SelectTSKMessage() { - color = null; - } - - public Color getColor() { - return color; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "SelectTSK{color=" + color + '}'; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java deleted file mode 100644 index 8b7150a9..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/SelectedPiecesMessage.java +++ /dev/null @@ -1,60 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by a client to indicate that a piece has been selected for a bonus cards. - */ -@Serializable -public class SelectedPiecesMessage extends ClientMessage { - /** - * The piece identifier. - */ - private String pieceIdentifier; - - /** - * Constructor for SelectedPieces - * - * @param pieceIdentifier the piece identifier - */ - public SelectedPiecesMessage(String pieceIdentifier) { - this.pieceIdentifier = pieceIdentifier; - } - - /** - * Default constructor for serialization purposes. - */ - private SelectedPiecesMessage() { - pieceIdentifier = null; - } - - /** - * Getter for the piece identifier - * - * @return the piece identifier - */ - public String getPieceIdentifier() { - return pieceIdentifier; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "SelectedPieces{pieceIdentifier=" + pieceIdentifier + '}'; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java deleted file mode 100644 index c2ff2ffb..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/client/StartGameMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.client; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the host to force start the game when not everyone is ready or not everyone has selected a TSK. - */ -@Serializable -public class StartGameMessage extends ClientMessage { - - private final boolean forceStartGame; - - public StartGameMessage(boolean forceStartGame){ - super(); - this.forceStartGame = forceStartGame; - } - - /** - * Constructs a new ForceStartGame message. - */ - public StartGameMessage() { - super(); - forceStartGame = false; - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ForceStartGame{}"; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - * @param from the connection ID from which the message was received - */ - @Override - public void accept(ClientInterpreter interpreter, int from) { - interpreter.received(this, from); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java deleted file mode 100644 index 3c7e8961..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ActivePlayerMessage.java +++ /dev/null @@ -1,71 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.Color; - -/** - * A message sent by the server to inform the clients about the active player. - */ -@Serializable -public class ActivePlayerMessage extends ServerMessage { - /** - * The color of the active player. - */ - private final Color color; - - /** - * Constructor for ActivePlayer - * - * @param color the color of the active player - */ - public ActivePlayerMessage(Color color) { - super(); - this.color = color; - } - - /** - * Default constructor for serialization purposes. - */ - private ActivePlayerMessage() { - color = null; - } - - /** - * Getter for the color of the active player - * - * @return the color of the active player - */ - public Color getColor() { - return color; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "ActivePlayer{color=" + color + '}'; - } - - /** - * Returns the key for the informational text associated with this message. - * - * @return the key for the informational text - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java deleted file mode 100644 index 56ff40e7..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/AnyPieceMessage.java +++ /dev/null @@ -1,73 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -import java.util.ArrayList; -import java.util.List; - -/** - * A message sent by the server to the active player containing a list of pieces that the player can move any piece of the list on the board. - */ -@Serializable -public class AnyPieceMessage extends ServerMessage { - /** - * The list of pieces - */ - private final ArrayList piece; - - /** - * Constructor for AnyPiece - */ - public AnyPieceMessage() { - super(); - piece = new ArrayList<>(); - } - - /** - * Add a piece to the list of pieces - * - * @param piece the piece to add - */ - public void addPiece(String piece) { - this.piece.add(piece); - } - - /** - * Getter for the list of pieces - * - * @return the list of pieces - */ - public List getPiece() { - return piece; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return "AnyPiece{piece=" + piece + '}'; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java deleted file mode 100644 index 1f077d61..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/BriefingMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the reconnected player to provide a briefing about the current game state. - */ -@Serializable -public class BriefingMessage extends ServerMessage { - /** - * Constructs a new Briefing instance. - */ - public BriefingMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java deleted file mode 100644 index 10197038..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/CeremonyMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to indicate the beginning of the ceremony. - */ -@Serializable -public class CeremonyMessage extends ServerMessage { - /** - * Constructs a new Ceremony instance. - */ - public CeremonyMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java deleted file mode 100644 index 09d57ffb..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceAgainMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the active player to indicate that they can roll the dice again. - */ -@Serializable -public class DiceAgainMessage extends ServerMessage { - /** - * Constructs a new DiceAgain instance. - */ - public DiceAgainMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java deleted file mode 100644 index 7a31fa38..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DiceNowMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the active player to enable the dice now button. - */ -@Serializable -public class DiceNowMessage extends ServerMessage { - /** - * Constructs a new DiceNow instance. - */ - public DiceNowMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java deleted file mode 100644 index d4d8c896..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/DieMessage.java +++ /dev/null @@ -1,110 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -import java.util.List; - -/** - * A message sent by the server to the client to inform about the dice roll. - */ -@Serializable -public class DieMessage extends ServerMessage { - /** - * The eye of the dice - */ - private final int diceEye; - - /** - * The pieces that can be moved - */ - private final List moveablePieces; - - /** - * Constructor for Dice - * - * @param diceEye the eye of the dice - * @param moveablePieces the pieces that can be moved - */ - public DieMessage(int diceEye, List moveablePieces) { - super(); - this.diceEye = diceEye; - this.moveablePieces = moveablePieces; - } - - /** - * Default constructor for serialization purposes. - */ - private DieMessage() { - diceEye = 0; - moveablePieces = null; - } - - /** - * Constructor for inactivePlayer - * - * @param diceEye the eye of the dice - * @return a new Dice object - */ - public static DieMessage inactivePlayer(int diceEye) { - return new DieMessage(diceEye, null); - } - - /** - * Constructor for activePlayer - * - * @param diceEye the eye of the dice - * @param moveablePieces the pieces that can be moved - * @return a new Dice object - */ - public static DieMessage activePlayer(int diceEye, List moveablePieces) { - return new DieMessage(diceEye, moveablePieces); - } - - /** - * Getter for the eye of the dice - * - * @return the eye of the dice - */ - public int getDiceEye() { - return diceEye; - } - - /** - * Getter for the pieces that can be moved - * - * @return the pieces that can be moved - */ - public List getMoveablePieces() { - return moveablePieces; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java deleted file mode 100644 index 10dabd02..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/EndOfTurnMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to indicate the end of the turn of the active player. - */ -@Serializable -public class EndOfTurnMessage extends ServerMessage { - /** - * Constructs a new EndOfTurn instance. - */ - public EndOfTurnMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java deleted file mode 100644 index f3e16386..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyAcceptMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to indicate that the client has been accepted into the lobby. - */ -@Serializable -public class LobbyAcceptMessage extends ServerMessage { - /** - * Constructs a new LobbyAccept instance. - */ - public LobbyAcceptMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java deleted file mode 100644 index e49057b7..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyDenyMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to deny a client's request to join the lobby. - */ -@Serializable -public class LobbyDenyMessage extends ServerMessage { - /** - * Constructs a new LobbyDeny instance. - */ - public LobbyDenyMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinMessage.java deleted file mode 100644 index 3bbb7640..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerJoinMessage.java +++ /dev/null @@ -1,87 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent from the server to the client indicating that a player has joined the lobby. - */ -@Serializable -public class LobbyPlayerJoinMessage extends ServerMessage { - - /** - * The name of the player joining the lobby. - */ - private final String name; - - /** - * The ID of the new Player - */ - private final int id; - - /** - * Constructs a new LobbyPlayerJoin instance with the specified player name. - * - * @param name the name of the player joining the lobby - */ - public LobbyPlayerJoinMessage(int id, String name) { - super(); - this.name = name; - this.id = id; - } - - /** - * Default constructor for serialization purposes. - */ - private LobbyPlayerJoinMessage() { - name = null; - id = 0; - } - - /** - * Returns the name of the player joining the lobby. - * - * @return the name of the player joining the lobby - */ - public String getName() { - return name; - } - - /** - * Returns the id of the new Player - * - * @return the id of the player - */ - public int getId(){ - return id; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java deleted file mode 100644 index 75627e21..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/LobbyPlayerLeaveMessage.java +++ /dev/null @@ -1,88 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.Color; - -/** - * A message sent by the server to indicate that a player has left the lobby. - */ -@Serializable -public class LobbyPlayerLeaveMessage extends ServerMessage { - /** - * The name of the player leaving the lobby. - */ - private final int id; - - /** - * The color associated with the player leaving the lobby. - */ - private final Color color; - - /** - * Constructs a new LobbyPlayerLeave instance with the specified player name and color. - * - * @param id the id of the player leaving the lobby - * @param color the color associated with the player leaving the lobby - */ - public LobbyPlayerLeaveMessage(int id, Color color) { - super(); - this.id = id; - this.color = color; - } - - /** - * Default constructor for serialization purposes. - */ - private LobbyPlayerLeaveMessage() { - id = 0; - color = null; - } - - /** - * Returns the name of the player leaving the lobby. - * - * @return the name of the player leaving the lobby - */ - public int getId() { - return id; - } - - /** - * Returns the color associated with the player leaving the lobby. - * - * @return the color associated with the player leaving the lobby - */ - public Color getColor() { - return color; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java deleted file mode 100644 index 27dbe370..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/MoveMessage.java +++ /dev/null @@ -1,70 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the client to move a piece on the board. - */ -@Serializable -public class MoveMessage extends ServerMessage { - /** - * The identifier of the piece that should be moved. - */ - private final String pieceIdentifier; - - /** - * Constructs a new MoveMessage instance. - * - * @param identifier the identifier of the piece that should be moved - */ - public MoveMessage(String identifier) { - super(); - this.pieceIdentifier = identifier; - } - - /** - * Default constructor for serialization purposes. - */ - private MoveMessage() { - pieceIdentifier = null; - } - - /** - * Returns the identifier of the piece that should be moved. - * - * @return the identifier of the piece that should be moved - */ - public String getIdentifier() { - return pieceIdentifier; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java deleted file mode 100644 index 8240b2b7..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/NoTurnMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the active player to indicate that he has no valid moves. - */ -@Serializable -public class NoTurnMessage extends ServerMessage { - /** - * Constructs a new NoTurn instance. - */ - public NoTurnMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java deleted file mode 100644 index de9c6a8f..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PauseGameMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to indicate that the game is paused. - */ -@Serializable -public class PauseGameMessage extends ServerMessage { - /** - * Constructs a new PauseGame instance. - */ - public PauseGameMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java deleted file mode 100644 index 8c5717cf..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PlayCardMessage.java +++ /dev/null @@ -1,122 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.BonusCard; - -/** - * A message sent by the server to the active player to play a card. - */ -@Serializable -public class PlayCardMessage extends ServerMessage { - /** - * The card that should be played. - */ - private final BonusCard card; - - /** - * The identifier of the piece that should be moved. - */ - private final String pieceIdentifier; - - private final String pieceIdentifierEnemy; - - /** - * Constructs a new PlayCard message. - * - * @param card the card that should be played - * @param pieceIdentifier the identifier of the piece that should be moved - */ - public PlayCardMessage(BonusCard card, String pieceIdentifier, String pieceIdentifierEnemy) { - super(); - this.card = card; - this.pieceIdentifier = pieceIdentifier; - this.pieceIdentifierEnemy = pieceIdentifierEnemy; - } - - /** - * Default constructor for serialization purposes. - */ - private PlayCardMessage() { - this.pieceIdentifierEnemy = null; - card = null; - pieceIdentifier = null; - } - - /** - * Creates a new PlayCard message for the given card and piece identifier. - * - * @param pieceIdentifier the identifier of the piece of the player that should be affected - * @param pieceIdentifierEnemy the identifier of the enemy piece that should be affected - * @return a new PlayCard message - */ - public static PlayCardMessage swap(String pieceIdentifier, String pieceIdentifierEnemy) { - return new PlayCardMessage(BonusCard.SWAP, pieceIdentifier, pieceIdentifierEnemy); - } - - /** - * Creates a new PlayCard message for the given card and piece identifier. - * - * @param pieceIdentifier the identifier of the piece of the player that should be affected - * @return a new PlayCard message - */ - public static PlayCardMessage shield(String pieceIdentifier) { - return new PlayCardMessage(BonusCard.SHIELD, pieceIdentifier, null); - } - - /** - * Returns the card that should be played. - * - * @return the card that should be played - */ - public BonusCard getCard() { - return card; - } - - /** - * Returns the identifier of the piece that should be moved. - * - * @return the identifier of the piece that should be moved - */ - public String getPieceIdentifier() { - return pieceIdentifier; - } - - /** - * Returns the identifier of the enemy piece that should be moved. - * - * @return the identifier of the enemy piece that should be moved - */ - public String getPieceIdentifierEnemy() { - return pieceIdentifierEnemy; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java deleted file mode 100644 index bceea4d7..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossibleCardMessage.java +++ /dev/null @@ -1,74 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.BonusCard; - -import java.util.ArrayList; -import java.util.List; - -/** - * A message sent by the server to the client to indicate the possible cards that can be chosen. - */ -@Serializable -public class PossibleCardMessage extends ServerMessage { - /** - * The list of possible cards. - */ - private final List possibleCards; - - /** - * Constructor for a PossibleCard instance. - */ - public PossibleCardMessage() { - super(); - possibleCards = new ArrayList<>(); - } - - /** - * Add a possible card to the list of possible cards - * - * @param card the possible card to add - */ - public void addPossibleCard(BonusCard card) { - this.possibleCards.add(card); - } - - /** - * Getter for the list of possible cards - * - * @return the list of possible cards - */ - public List getPossibleCards() { - return possibleCards; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java deleted file mode 100644 index 8e47498a..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/PossiblePieceMessage.java +++ /dev/null @@ -1,119 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -import java.util.ArrayList; -import java.util.List; - -/** - * A message sent by the server to the active player to give all possible pieces to choose from. - */ -@Serializable -public class PossiblePieceMessage extends ServerMessage { - /** - * The list of possible own pieces - */ - private final List possibleOwnPieces; - - /** - * The list of possible enemy pieces - */ - private final List possibleEnemyPieces; - - /** - * Constructor for PossiblePiece - */ - public PossiblePieceMessage() { - super(); - possibleOwnPieces = new ArrayList<>(); - possibleEnemyPieces = new ArrayList<>(); - } - - /** - * Swap the possible pieces - * - * @param possibleOwnPieces the list of possible own pieces - * @param possibleEnemyPieces the list of possible enemy pieces - * @return the swapped possible pieces - */ - public static PossiblePieceMessage swapPossiblePieces(ArrayList possibleOwnPieces, ArrayList possibleEnemyPieces) { - PossiblePieceMessage possiblePieceMessage = new PossiblePieceMessage(); - possiblePieceMessage.possibleOwnPieces.addAll(possibleOwnPieces); - possiblePieceMessage.possibleEnemyPieces.addAll(possibleEnemyPieces); - return possiblePieceMessage; - } - - /** - * Get the possible pieces for the shield - * - * @param possibleOwnPieces the list of possible own pieces - * @return the possible pieces for the shield - */ - public static PossiblePieceMessage shieldPossiblePieces(ArrayList possibleOwnPieces){ - PossiblePieceMessage possiblePieceMessage = new PossiblePieceMessage(); - possiblePieceMessage.possibleOwnPieces.addAll(possibleOwnPieces); - return possiblePieceMessage; - } - - /** - * Add a piece to the list of possible pieces - * - * @param piece the piece to add - */ - public void addOwnPossiblePiece(String piece) { - this.possibleOwnPieces.add(piece); - } - - /** - * Add a piece to the list of possible enemy pieces - * - * @param piece the piece to add - */ - public void addEnemyPossiblePiece(String piece) { - this.possibleEnemyPieces.add(piece); - } - - /** Getter for the list of possible pieces - * @return the list of possible pieces - */ - public List getOwnPossiblePieces() { - return possibleOwnPieces; - } - - /** Getter for the list of possible enemy pieces - * @return the list of possible enemy pieces - */ - public List getEnemyPossiblePieces() { - return possibleEnemyPieces; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java deleted file mode 100644 index 397ddcb1..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingResponseMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to all client to inform them about the current ranking. (only in DetermineStartPlayer) - */ -@Serializable -public class RankingResponseMessage extends ServerMessage { - /** - * Constructs a new RankingResponse instance. - */ - public RankingResponseMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java deleted file mode 100644 index f89df585..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/RankingRollAgainMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the clients to indicate that the ranking shall be rolled again. (only in DetermineStartPlayer) - */ -@Serializable -public class RankingRollAgainMessage extends ServerMessage { - /** - * Constructs a new RankingRollAgain instance. - */ - public RankingRollAgainMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java deleted file mode 100644 index 4a1495e6..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ReconnectBriefingMessage.java +++ /dev/null @@ -1,69 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.Game; - -/** - * A message sent by the server to a client that has reconnected to the game. (give the last saved model) - */ -@Serializable -public class ReconnectBriefingMessage extends ServerMessage { - /** - * The game. - */ - private final Game game; - - /** - * Constructs a new ReconnectBriefing message. - */ - public ReconnectBriefingMessage(Game game) { - super(); - this.game = game; - } - - /** - * Default constructor for serialization purposes. - */ - private ReconnectBriefingMessage() { - this(null); - } - - /** - * Returns the game. - * - * @return the game - */ - public Game getGame() { - return game; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java deleted file mode 100644 index c95541c0..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ResumeGameMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to resume the game. - */ -@Serializable -public class ResumeGameMessage extends ServerMessage { - /** - * Constructs a new ResumeGame instance. - */ - public ResumeGameMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java deleted file mode 100644 index b1220d8d..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SelectPieceMessage.java +++ /dev/null @@ -1,56 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -import java.util.List; - -@Serializable -public class SelectPieceMessage extends ServerMessage{ - - private final List pieces; - - /** - * Constructs a new SelectPiece instance. - * - * @param pieces the pieces to be selected - */ - public SelectPieceMessage(List pieces){ - this.pieces = pieces; - } - - /** - * Default constructor for serialization purposes. - */ - public SelectPieceMessage(){ - pieces = null; - } - - /** - * Getter for the pieces - * - * @return the pieces - */ - public List getPieces(){ - return pieces; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java deleted file mode 100644 index 9af7d6d9..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerInterpreter.java +++ /dev/null @@ -1,210 +0,0 @@ -package pp.mdga.message.server; - -/** - * An interface for processing server messages. - * Implementations of this interface can be used to handle different types of server messages. - */ -public interface ServerInterpreter { - /** - * Handles an ActivePlayer message received from the server. - * - * @param msg the ActivePlayer message received - */ - void received(ActivePlayerMessage msg); - - /** - * Handles an AnyPiece message received from the server. - * - * @param msg the AnyPiece message received - */ - void received(AnyPieceMessage msg); - - /** - * Handles a Briefing message received from the server. - * - * @param msg the Briefing message received - */ - void received(BriefingMessage msg); - - /** - * Handles a Ceremony message received from the server. - * - * @param msg the Ceremony message received - */ - void received(CeremonyMessage msg); - - /** - * Handles a Die message received from the server. - * - * @param msg the Dice message received - */ - void received(DieMessage msg); - - /** - * Handles a DiceAgain message received from the server. - * - * @param msg the DiceAgain message received - */ - void received(DiceAgainMessage msg); - - /** - * Handles a DiceNow message received from the server. - * - * @param msg the DiceNow message received - */ - void received(DiceNowMessage msg); - - /** - * Handles an EndOfGame message received from the server. - * - * @param msg the EndOfGame message received - */ - void received(EndOfTurnMessage msg); - - /** - * Handles a GameOver message received from the server. - * - * @param msg the GameOver message received - */ - void received(LobbyAcceptMessage msg); - - /** - * Handles a LobbyDeny message received from the server. - * - * @param msg the LobbyDeny message received - */ - void received(LobbyDenyMessage msg); - - /** - * Handles a LobbyPlayerJoin message received from the server. - * - * @param msg the LobbyPlayerJoin message received - */ - void received(LobbyPlayerJoinMessage msg); - - /** - * Handles a LobbyPlayerLeave message received from the server. - * - * @param msg the LobbyPlayerLeave message received - */ - void received(LobbyPlayerLeaveMessage msg); - - /** - * Handles a MoveMessage message received from the server. - * - * @param msg the MoveMessage message received - */ - void received(MoveMessage msg); - - /** - * Handles a NoTurn message received from the server. - * - * @param msg the NoTurn message received - */ - void received(NoTurnMessage msg); - - /** - * Handles a PauseGame message received from the server. - * - * @param msg the PauseGame message received - */ - void received(PauseGameMessage msg); - - /** - * Handles a PlayCard message received from the server. - * - * @param msg the PlayCard message received - */ - void received(PlayCardMessage msg); - - /** - * Handles a PossibleCard message received from the server. - * - * @param msg the PossibleCard message received - */ - void received(PossibleCardMessage msg); - - /** - * Handles a PossiblePiece message received from the server. - * - * @param msg the PossiblePiece message received - */ - void received(PossiblePieceMessage msg); - - /** - * Handles a RankingResponce message received from the server. - * - * @param msg the RankingResponce message received - */ - void received(RankingResponseMessage msg); - - /** - * Handles a RankingRollAgain message received from the server. - * - * @param msg the RankingRollAgain message received - */ - void received(RankingRollAgainMessage msg); - - /** - * Handles a ReconnectBriefing message received from the server. - * - * @param msg the ReconnectBriefing message received - */ - void received(ReconnectBriefingMessage msg); - - /** - * Handles a ResumeGame message received from the server. - * - * @param msg the ResumeGame message received - */ - void received(ResumeGameMessage msg); - - /** - * Handles a ServerStartGame message received from the server. - * - * @param msg the ServerStartGame message received - */ - void received(ServerStartGameMessage msg); - - /** - * Handles a StartPiece message received from the server. - * - * @param msg the StartPiece message received - */ - void received(StartPieceMessage msg); - - /** - * Handles a UpdateReady message received from the server. - * - * @param msg the UpdateReady message received - */ - void received(UpdateReadyMessage msg); - - /** - * Handles a UpdateTSK message received from the server. - * - * @param msg the UpdateTSK message received - */ - void received(UpdateTSKMessage msg); - - /** - * Handles a WaitPiece message received from the server. - * - * @param msg the WaitPiece message received - */ - void received(WaitPieceMessage msg); - - /** - * Handles a Spectator message received from the server. - * - * @param msg the Spectator message received. - */ - void received(SpectatorMessage msg); - - /** - * Handles a SelectPiece message received from the server. - * - * @param msg the SelectPiece message received. - */ - void received(SelectPieceMessage msg); -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java deleted file mode 100644 index bc1d6b7d..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerMessage.java +++ /dev/null @@ -1,31 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.AbstractMessage; - -/** - * An abstract base class for server messages used in network transfer. - * It extends the AbstractMessage class provided by the jme3-network library. - */ -public abstract class ServerMessage extends AbstractMessage { - /** - * Constructs a new ServerMessage instance. - */ - protected ServerMessage() { - super(true); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - public abstract void accept(ServerInterpreter interpreter); - - /** - * Gets the bundle key of the informational text to be shown at the client. - * This key is used to retrieve the appropriate localized text for display. - * - * @return the bundle key of the informational text - */ - public abstract String getInfoTextKey(); -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java deleted file mode 100644 index ac448825..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/ServerStartGameMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message indicating that the game shall start. - */ -@Serializable -public class ServerStartGameMessage extends ServerMessage { - /** - * Constructs a new ServerStartGame instance. - */ - public ServerStartGameMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java deleted file mode 100644 index 6ebc7b23..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/SpectatorMessage.java +++ /dev/null @@ -1,32 +0,0 @@ -package pp.mdga.message.server; - -/** - * - */ -public class SpectatorMessage extends ServerMessage { - /** - * Construc - */ - public SpectatorMessage() { - super(); - } - - /** - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - - /** - * - * @return - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java deleted file mode 100644 index 51910961..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/StartPieceMessage.java +++ /dev/null @@ -1,71 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the active player that he has to move a start piece. - */ -@Serializable -public class StartPieceMessage extends ServerMessage { - /** - * The identifier for the piece. - */ - private final String pieceIdentifier; - - /** - * Constructs a new StartPiece instance with the specified piece identifier. - * - * @param pieceIdentifier the identifier for the piece - */ - public StartPieceMessage(String pieceIdentifier) { - super(); - this.pieceIdentifier = pieceIdentifier; - } - - /** - * Default constructor for serialization purposes. - */ - private StartPieceMessage() { - super(); - this.pieceIdentifier = ""; - } - - /** - * Gets the identifier for the piece. - * - * @return the piece identifier - */ - public String getPieceIdentifier() { - return pieceIdentifier; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java deleted file mode 100644 index d8d53313..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateReadyMessage.java +++ /dev/null @@ -1,88 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to every client to update the readiness status of a player. - */ -@Serializable -public class UpdateReadyMessage extends ServerMessage { - /** - * The color associated with the update. - */ - private final int playerId; - - /** - * Indicates whether the player is ready. - */ - private final boolean ready; - - /** - * Constructs a new UpdateReady instance with the specified color and readiness status. - * - * @param playerId the playerId associated with the update - * @param ready the readiness status - */ - public UpdateReadyMessage(int playerId, boolean ready) { - super(); - this.playerId = playerId; - this.ready = ready; - } - - /** - * Default constructor for serialization purposes. - */ - private UpdateReadyMessage() { - super(); - this.playerId = 0; - this.ready = false; - } - - /** - * Gets the playerId associated with the update. - * - * @return the playerId - */ - public int getPlayerId() { - return playerId; - } - - /** - * Checks if the player is ready. - * - * @return true if the player is ready, false otherwise - */ - public boolean isReady() { - return ready; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java deleted file mode 100644 index 8597a1e2..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/UpdateTSKMessage.java +++ /dev/null @@ -1,87 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; -import pp.mdga.game.Color; - -/** - * A message sent by the server to every client to update the TSK. - */ -@Serializable -public class UpdateTSKMessage extends ServerMessage { - /** - * The name associated with the update. - */ - private final int id; - - /** - * The color associated with the update. - */ - private final Color color; - - /** - * Constructs a new UpdateTSK instance with the specified name and color. - * - * @param id the name associated with the update - * @param color the color associated with the update - */ - public UpdateTSKMessage(int id, Color color) { - super(); - this.id = id; - this.color = color; - } - - /** - * Default constructor for serialization purposes. - */ - private UpdateTSKMessage() { - this(0, null); - } - - /** - * Gets the name associated with the update. - * - * @return the name - */ - public int getId() { - return id; - } - - /** - * Gets the color associated with the update. - * - * @return the color - */ - public Color getColor() { - return color; - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java b/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java deleted file mode 100644 index 42743ece..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/message/server/WaitPieceMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -package pp.mdga.message.server; - -import com.jme3.network.serializing.Serializable; - -/** - * A message sent by the server to the active player to choose a piece from the waiting area. - */ -@Serializable -public class WaitPieceMessage extends ServerMessage { - /** - * Constructs a new WaitPiece instance. - */ - public WaitPieceMessage() { - super(); - } - - /** - * Accepts a visitor to process this message. - * - * @param interpreter the visitor to process this message - */ - @Override - public void accept(ServerInterpreter interpreter) { - interpreter.received(this); - } - - /** - * Returns a string representation of this message. - * - * @return a string representation of this message - */ - @Override - public String toString() { - return ""; - } - - /** - * Returns the key for the info text of this message. - * - * @return the key for the info text of this message - */ - @Override - public String getInfoTextKey() { - return ""; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableShieldNotification.java b/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableShieldNotification.java deleted file mode 100644 index 470f50a5..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableShieldNotification.java +++ /dev/null @@ -1,34 +0,0 @@ -package pp.mdga.notification; - -import java.util.List; -import java.util.UUID; - -/** - * Notification for selecting pieces for swapcard. - */ -public class SelectableShieldNotification extends Notification{ - - /** - * List of UUIDs representing the player's own pieces available for selection. - */ - private final List ownPieces; - - - /** - * Constructs a notification for selecting pieces for swapcard. - * - * @param ownPieces the list of the player's own pieces - */ - public SelectableShieldNotification(List ownPieces) { - this.ownPieces = ownPieces; - } - - /** - * Gets the list of the player's own pieces available for selection. - * - * @return a list of UUIDs representing the player's own pieces - */ - public List getOwnPieces() { - return ownPieces; - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/notification/TurboActiveNotification.java b/Projekte/mdga/model/src/main/java/pp/mdga/notification/TurboActiveNotification.java deleted file mode 100644 index 890f2451..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/notification/TurboActiveNotification.java +++ /dev/null @@ -1,4 +0,0 @@ -package pp.mdga.notification; - -public class TurboActiveNotification extends Notification{ -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/ChoosePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/ChoosePieceState.java deleted file mode 100644 index beb19efa..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/ChoosePieceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class ChoosePieceState extends TurnState { - public ChoosePieceState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/DetermineStartPlayerState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/DetermineStartPlayerState.java deleted file mode 100644 index 9f041111..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/DetermineStartPlayerState.java +++ /dev/null @@ -1,9 +0,0 @@ -package pp.mdga.server; - -import pp.mdga.server.automaton.GameState; - -public class DetermineStartPlayerState extends GameState { - public DetermineStartPlayerState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/FirstRollStateState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/FirstRollStateState.java deleted file mode 100644 index b8d91c26..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/FirstRollStateState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class FirstRollStateState extends RollDiceState { - public FirstRollStateState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/MovePieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/MovePieceState.java deleted file mode 100644 index 27aac8fd..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/MovePieceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class MovePieceState extends TurnState { - public MovePieceState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/NoPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/NoPieceState.java deleted file mode 100644 index a4120ecb..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/NoPieceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class NoPieceState extends ChoosePieceState { - public NoPieceState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/NoTurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/NoTurnState.java deleted file mode 100644 index d96a3e78..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/NoTurnState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class NoTurnState extends ChoosePieceState { - public NoTurnState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/PowerCardState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/PowerCardState.java deleted file mode 100644 index d5db6a11..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/PowerCardState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class PowerCardState extends TurnState { - public PowerCardState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/RollDiceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/RollDiceState.java deleted file mode 100644 index cf1edf5c..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/RollDiceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class RollDiceState extends TurnState { - public RollDiceState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/SecondRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/SecondRollState.java deleted file mode 100644 index f612cd2c..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/SecondRollState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class SecondRollState extends RollDiceState { - public SecondRollState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/SelectPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/SelectPieceState.java deleted file mode 100644 index 37a0c8f9..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/SelectPieceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class SelectPieceState extends ChoosePieceState { - public SelectPieceState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/ServerGameLogic.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/ServerGameLogic.java deleted file mode 100644 index ac2b048c..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/ServerGameLogic.java +++ /dev/null @@ -1,216 +0,0 @@ -package pp.mdga.server; - -import pp.mdga.game.Game; -import pp.mdga.message.client.*; -import pp.mdga.server.automaton.*; - -import java.lang.System.Logger; - -/** - * - */ -public class ServerGameLogic implements ClientInterpreter { - /** - * Constants. - */ - private static final Logger LOGGER = System.getLogger(ServerGameLogic.class.getName()); - - /** - * - */ - private final ServerSender serverSender; - private final Game game; - - /** - * States - */ - private ServerState currentState; - private final ServerState lobbyState; - private final ServerState gameState; - private final ServerState interruptState; - private final ServerState ceremonyState; - - /** - * Constructor. - * - * @param serverSender - * @param game - */ - public ServerGameLogic(ServerSender serverSender, Game game) { - this.serverSender = serverSender; - this.game = game; - this.lobbyState = new LobbyState(this); - this.gameState = new GameState(this); - this.interruptState = new InterruptState(this); - this.ceremonyState = new CeremonyState(this); - this.currentState = this.lobbyState; - } - - - @Override - public void received(AnimationEndMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(DeselectTSKMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(StartGameMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(JoinServerMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(LeaveGameMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(LobbyReadyMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(LobbyNotReadyMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(DisconnectedMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(RequestBriefingMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(RequestDieMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(RequestMoveMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(RequestPlayCardMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(SelectCardMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(SelectTSKMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(ForceContinueGameMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(ClientStartGameMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(NoPowerCardMessage msg, int from) { - this.currentState.received(msg, from); - } - - @Override - public void received(SelectedPiecesMessage msg, int from) { - this.currentState.received(msg, from); - } - - /** - * This method will be used to return serverSender attribute of ServerGameLogic class. - * - * @return serverSender as a ServerSender object. - */ - public ServerSender getServerSender() { - return this.serverSender; - } - - /** - * This method will be used to return game attribute of ServerGameLogic class. - * - * @return game as a Game object. - */ - public Game getGame() { - return this.game; - } - - /** - * This method will be used to return currentState attribute of ServerGameLogic class. - * - * @return currentState as a ServerState object. - */ - public ServerState getCurrentState() { - return this.currentState; - } - - /** - * This method will be used to return lobbyState attribute of ServerGameLogic class. - * - * @return lobbyState as a ServerState object. - */ - public ServerState getLobbyState() { - return this.lobbyState; - } - - /** - * This method will be used to return gameState attribute of ServerGameLogic class. - * - * @return gameState as a ServerState object. - */ - public ServerState getGameState() { - return this.gameState; - } - - /** - * This method will be used to return interruptState attribute of ServerGameLogic class. - * - * @return interruptState as a ServerState object. - */ - public ServerState getInterruptState() { - return this.interruptState; - } - - /** - * This method will be used to return ceremonyState attribute of ServerGameLogic class. - * - * @return ceremonyState as a ServerState object. - */ - public ServerState getCeremonyState() { - return this.ceremonyState; - } - - /** - * This method will be used to set currentState attribute of ServerGameLogic 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 ServerState object. - */ - public void setCurrentState(ServerState 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/ServerSender.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/ServerSender.java deleted file mode 100644 index 7d628e6c..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/ServerSender.java +++ /dev/null @@ -1,24 +0,0 @@ -package pp.mdga.server; - -import pp.mdga.message.server.ServerMessage; - -/** - * Interface for sending messages to a client. - */ -public interface ServerSender { - /** - * Send the specified message to the client. - * - * @param id the id of the client that shall receive the message - * @param message the message - */ - void send(int id, ServerMessage message); - - /** - * This method will be used to send the given message parameter to all connected players which are saved inside the - * players attribute of Game class. - * - * @param message as the message which will be sent to all players as a ServerMessage. - */ - void broadcast(ServerMessage message); -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/StartPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/StartPieceState.java deleted file mode 100644 index fff134ce..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/StartPieceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class StartPieceState extends ChoosePieceState { - public StartPieceState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/ThirdRollState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/ThirdRollState.java deleted file mode 100644 index d5607225..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/ThirdRollState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class ThirdRollState extends RollDiceState { - public ThirdRollState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/TurnState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/TurnState.java deleted file mode 100644 index cbf0f999..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/TurnState.java +++ /dev/null @@ -1,9 +0,0 @@ -package pp.mdga.server; - -import pp.mdga.server.automaton.GameState; - -public class TurnState extends GameState { - public TurnState(ServerGameLogic logic) { - super(logic); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/WaitingPieceState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/WaitingPieceState.java deleted file mode 100644 index 64095bf1..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/WaitingPieceState.java +++ /dev/null @@ -1,7 +0,0 @@ -package pp.mdga.server; - -public class WaitingPieceState extends ChoosePieceState { - public WaitingPieceState(ServerGameLogic logic) { - super(logic); - } -} 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 deleted file mode 100644 index 34f44338..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/CeremonyState.java +++ /dev/null @@ -1,33 +0,0 @@ -package pp.mdga.server.automaton; - -import pp.mdga.server.ServerGameLogic; - -/** - * - */ -public class CeremonyState extends ServerState { - /** - * Constructor. - * - * @param logic as the server game logic which is the automaton as a ServerGameLogic object. - */ - public CeremonyState(ServerGameLogic logic) { - super(parent, logic); - } - - /** - * This method will be used whenever this state will be entered. - */ - @Override - public void enter() { - // ToDo: Close server. - } - - /** - * This method will be used whenever this state will be exited. - */ - @Override - public void exit() { - - } -} 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 deleted file mode 100644 index 423ec410..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/GameState.java +++ /dev/null @@ -1,60 +0,0 @@ -package pp.mdga.server.automaton; - -import pp.mdga.message.client.DisconnectedMessage; -import pp.mdga.message.client.LeaveGameMessage; -import pp.mdga.message.server.PauseGameMessage; -import pp.mdga.server.ServerGameLogic; - -/** - * - */ -public class GameState extends ServerState { - /** - * Constructor. - * - * @param logic as the server game logic which is the automaton as a ServerGameLogic object. - */ - public GameState(ServerGameLogic logic) { - super(parent, logic); - } - - /** - * This method will be used whenever this state will be entered. - */ - @Override - public void enter() { - - } - - /** - * This method will be used whenever this state will be exited. - */ - @Override - public void exit() { - - } - - /** - * - * @param msg as the message which was sent by the player as a Disconnected object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(DisconnectedMessage msg, int from) { - this.logic.getServerSender().broadcast(new PauseGameMessage()); - this.logic.setCurrentState(this.logic.getInterruptState()); - } - - /** - * - * @param msg as the message which was sent by the player as a LeaveGame object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(LeaveGameMessage msg, int from) { - this.logic.getGame().updatePlayerActiveState(from, false); - if (this.logic.getGame().getNumberOfActivePlayers() == 1) { - this.logic.setCurrentState(this.logic.getCeremonyState()); - } - } -} 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 deleted file mode 100644 index a94efd73..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/InterruptState.java +++ /dev/null @@ -1,47 +0,0 @@ -package pp.mdga.server.automaton; - -import com.jme3.system.Timer; -import pp.mdga.message.client.ForceContinueGameMessage; -import pp.mdga.message.server.ResumeGameMessage; -import pp.mdga.server.ServerGameLogic; - -/** - * - */ -public class InterruptState extends ServerState { - /** - * Attributes. - */ - private Timer timer; - - /** - * Constructor. - * - * @param logic as the server game logic which is the automaton as a ServerGameLogic object. - */ - public InterruptState(ServerGameLogic logic) { - super(parent, logic); - } - - /** - * This method will be used whenever this state will be entered. - */ - @Override - public void enter() { - // Create timer and connect signal. - } - - /** - * This method will be used whenever this state will be exited. - */ - @Override - public void exit() { - - } - - @Override - public void received(ForceContinueGameMessage msg, int from) { - this.logic.getServerSender().broadcast(new ResumeGameMessage()); - this.logic.setCurrentState(this.logic.getGameState()); - } -} 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 deleted file mode 100644 index 152b1c47..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/LobbyState.java +++ /dev/null @@ -1,88 +0,0 @@ -package pp.mdga.server.automaton; - -import pp.mdga.message.client.*; -import pp.mdga.message.server.ServerStartGameMessage; -import pp.mdga.message.server.UpdateReadyMessage; -import pp.mdga.message.server.UpdateTSKMessage; -import pp.mdga.server.ServerGameLogic; - -/** - * - */ -public class LobbyState extends ServerState { - /** - * Constructs a server state of the specified game logic. - * - * @param logic the game logic - */ - public LobbyState(ServerGameLogic logic) { - super(parent, logic); - } - - /** - * This method will be used whenever this state will be entered. - */ - @Override - public void enter() { - - } - - /** - * This method will be used whenever this state will be exited. - */ - @Override - public void exit() { - - } - - /** - * - * @param msg as the message which was sent by the player as a SelectTSK object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(SelectTSKMessage msg, int from) { - this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, msg.getColor())); - } - - /** - * - * @param msg as the message which was sent by the player as a DeselectTSK object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(DeselectTSKMessage msg, int from) { - this.logic.getServerSender().broadcast(new UpdateTSKMessage(from, msg.getColor())); - } - - /** - * - * @param msg as the message which was sent by the player as a LobbyReady object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(LobbyReadyMessage msg, int from) { - this.logic.getServerSender().broadcast(new UpdateReadyMessage(from, true)); - } - - /** - * - * @param msg as the message which was sent by the player as a LobbyNotReady object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(LobbyNotReadyMessage msg, int from) { - this.logic.getServerSender().broadcast(new UpdateReadyMessage(from, false)); - } - - /** - * - * @param msg as the message which was sent by the player as a ForceStartGame object. - * @param from as the client id of the player as an Integer. - */ - @Override - public void received(StartGameMessage msg, int from) { - this.logic.getServerSender().broadcast(new ServerStartGameMessage()); - this.logic.setCurrentState(this.logic.getGameState()); - } -} diff --git a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/ServerState.java b/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/ServerState.java deleted file mode 100644 index 04c5132c..00000000 --- a/Projekte/mdga/model/src/main/java/pp/mdga/server/automaton/ServerState.java +++ /dev/null @@ -1,197 +0,0 @@ -package pp.mdga.server.automaton; - -import pp.mdga.message.client.*; -import pp.mdga.server.ServerGameLogic; - -/** - * Defines the behavior and state transitions for the server-side game logic. - * Different states of the game logic implement this interface to handle various game events and actions. - */ -public abstract class ServerState { - /** - * The server logic object. - */ - protected final ServerGameLogic logic; - - /** - * Constructs a server state of the specified game logic. - * - * @param parent - * @param logic the game logic - */ - public ServerState(ServerState parent, ServerGameLogic logic) { - this.logic = logic; - } - - /** - * This method will be used whenever this state will be entered. - */ - public abstract void enter(); - - /** - * This method will be used whenever this state will be exited. - */ - public abstract void exit(); - - /** - * This method will be called whenever the server received an AnimationEnd message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a AnimationEnd object. - * @param from as the client id of the player as an Integer. - */ - public void received(AnimationEndMessage msg, int from) {} - - /** - * This method will be called whenever the server received an DeselectTSK message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a DeselectTSK object. - * @param from as the client id of the player as an Integer. - */ - public void received(DeselectTSKMessage msg, int from) {} - - /** - * This method will be called whenever the server received a StartGame message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a StartGame object. - * @param from as the client id of the player as an Integer. - */ - public void received(StartGameMessage msg, int from) {} - - /** - * This method will be called whenever the server received a JoinServer message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a JoinServer object. - * @param from as the client id of the player as an Integer. - */ - public void received(JoinServerMessage msg, int from) {} - - /** - * This method will be called whenever the server received an LeaveGame message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a LeaveGame object. - * @param from as the client id of the player as an Integer. - */ - public void received(LeaveGameMessage msg, int from) {} - - /** - * This method will be called whenever the server received a LobbyReady message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a LobbyReady object. - * @param from as the client id of the player as an Integer. - */ - public void received(LobbyReadyMessage msg, int from) {} - - /** - * This method will be called whenever the server received a LobbyNotReady message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a LobbyNotReady object. - * @param from as the client id of the player as an Integer. - */ - public void received(LobbyNotReadyMessage msg, int from) {} - - /** - * This method will be called whenever the server received a Disconnected message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a Disconnected object. - * @param from as the client id of the player as an Integer. - */ - public void received(DisconnectedMessage msg, int from) {} - - /** - * This method will be called whenever the server received a Briefing message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a Briefing object. - * @param from as the client id of the player as an Integer. - */ - public void received(RequestBriefingMessage msg, int from) {} - - /** - * This method will be called whenever the server received a Die message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a Die object. - * @param from as the client id of the player as an Integer. - */ - public void received(RequestDieMessage msg, int from) {} - - /** - * This method will be called whenever the server received a RequestMove message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a RequestMove object. - * @param from as the client id of the player as an Integer. - */ - public void received(RequestMoveMessage msg, int from) {} - - /** - * This method will be called whenever the server received a PlayCard message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a PlayCard object. - * @param from as the client id of the player as an Integer. - */ - public void received(RequestPlayCardMessage msg, int from) {} - - /** - * This method will be called whenever the server received a SelectCard message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a SelectCard object. - * @param from as the client id of the player as an Integer. - */ - public void received(SelectCardMessage msg, int from) {} - - /** - * This method will be called whenever the server received a SelectTSK message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a SelectTSK object. - * @param from as the client id of the player as an Integer. - */ - public void received(SelectTSKMessage msg, int from) {} - - /** - * This method will be called whenever the server received a ForceContinueGame message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a ForceContinueGame object. - * @param from as the client id of the player as an Integer. - */ - public void received(ForceContinueGameMessage msg, int from) {} - - /** - * This method will be called whenever the server received a ClientStartGame message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a ClientStartGame object. - * @param from as the client id of the player as an Integer. - */ - public void received(ClientStartGameMessage msg, int from) {} - - /** - * This method will be called whenever the server received a NoPowerCard message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a NoPowerCard object. - * @param from as the client id of the player as an Integer. - */ - public void received(NoPowerCardMessage msg, int from) {} - - /** - * This method will be called whenever the server received a SelectedPieces message. - * It will also get the client id of the player who send this message. - * - * @param msg as the message which was sent by the player as a SelectedPieces object. - * @param from as the client id of the player as an Integer. - */ - public void received(SelectedPiecesMessage msg, int from) {} -} diff --git a/Projekte/mdga/model/src/main/resources/mdga.properties b/Projekte/mdga/model/src/main/resources/mdga.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/Projekte/mdga/model/src/main/resources/mdga_de.properties b/Projekte/mdga/model/src/main/resources/mdga_de.properties deleted file mode 100644 index e69de29b..00000000 diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/ClientTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/ClientTest.java deleted file mode 100644 index b9dfba4c..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/ClientTest.java +++ /dev/null @@ -1,44 +0,0 @@ -package pp.mdga.client; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T066-T071 - */ -public class ClientTest { - @Before - public void Setup() { - - } - - @Test - public void testClientTerminatesConnection() { - - } - - @Test - public void testClientConnects() { - - } - - @Test - public void testClientCantConnect() { - - } - - @Test - public void testClientReconnect() { - - } - - @Test - public void testClientDoesntReconnect() { - - } - - @Test - public void testClientDisconnects() { - - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/LobbyStateTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/LobbyStateTest.java deleted file mode 100644 index c8c2344f..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/LobbyStateTest.java +++ /dev/null @@ -1,88 +0,0 @@ -package pp.mdga.client.Dialog; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T084-T095 - */ -public class LobbyStateTest { - - @Before - public void setUp() { - // This method will be executed before each test. - // Initialize common objects or setup required state for Lobby actions. - } - - // UC-Lobby-01 - @Test - public void testSelectTSK() { - // TODO: Implement test logic for selecting a task (TSK) - } - - // UC-Lobby-02 - @Test - public void testDeselectTSK() { - // TODO: Implement test logic for deselecting a previously selected task (TSK) - } - - // UC-Lobby-03 - @Test - public void testChangeTSK() { - // TODO: Implement test logic for changing a selected task (TSK) - } - - // UC-Lobby-04 - @Test - public void testReady() { - // TODO: Implement test logic for setting the player status to "ready" - } - - // UC-Lobby-05 - @Test - public void testNotReady() { - // TODO: Implement test logic for setting the player status to "not ready" - } - - // UC-Lobby-06 - @Test - public void testLeaveLobby() { - // TODO: Implement test logic for a player leaving the lobby - } - - // UC-Lobby-07 - @Test - public void testStartGame() { - // TODO: Implement test logic for starting the game - } - - // UC-Lobby-08 - @Test - public void testShowStatus() { - // TODO: Implement test logic for showing the status of all players (ready/not ready) - } - - // UC-Lobby-09 - @Test - public void testShowNames() { - // TODO: Implement test logic for showing the names of all players in the lobby - } - - // UC-Lobby-10 - @Test - public void testShowAvailableTSKs() { - // TODO: Implement test logic for displaying the list of available tasks (TSKs) - } - - // UC-Lobby-11 - @Test - public void testShowAssignedTSKs() { - // TODO: Implement test logic for showing the tasks assigned to players - } - - // UC-Lobby-12 - @Test - public void testServerAssignsTSK() { - // TODO: Implement test logic for server-side assignment of tasks (TSKs) to players - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/NetworkDialogClientTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/NetworkDialogClientTest.java deleted file mode 100644 index 53e42e3c..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/NetworkDialogClientTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package pp.mdga.client.Dialog; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T079-T083 - */ -public class NetworkDialogClientTest { - - @Before - public void setUp() { - // This method will be executed before each test. - // Initialize common objects or setup required state for Network Dialog Client actions. - } - - // UC-NetworkDialogClient-01 - @Test - public void testEnterIP() { - // TODO: Implement test logic for entering an IP address - } - - // UC-NetworkDialogClient-02 - @Test - public void testEnterPort() { - // TODO: Implement test logic for entering a port number - } - - // UC-NetworkDialogClient-03 - @Test - public void testConnectToServer() { - // TODO: Implement test logic for attempting to connect to a server - } - - @Test - public void testCantConnectToServer() { - // TODO: Implement test logic for handling failed server connection attempts - } - - // UC-NetworkDialogClient-04 - @Test - public void testCancelJoining() { - // TODO: Implement test logic for canceling the joining process - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/NetworkDialogHostTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/NetworkDialogHostTest.java deleted file mode 100644 index 71b7198d..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/NetworkDialogHostTest.java +++ /dev/null @@ -1,35 +0,0 @@ -package pp.mdga.client.Dialog; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T076-T078 - */ -public class NetworkDialogHostTest { - - @Before - public void setUp() { - // This method will be executed before each test. - } - - // UC-NetworkDialogHost-01 - @Test - public void testSpecifyPort() { - // TODO: Implement test logic for specifying a port - } - - // UC-NetworkDialogHost-02 - @Test - public void testCreateServer() { - // TODO: Implement test logic for creating a server - // Example: Check that the server is created successfully and starts listening on the specified port. - } - - // UC-NetworkDialogHost-03 - @Test - public void testCancelServer() { - // TODO: Implement test logic for canceling server creation - // Example: Verify that the server creation process is canceled properly without starting a server. - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/StartDialogTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/StartDialogTest.java deleted file mode 100644 index f1d88ac3..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/Dialog/StartDialogTest.java +++ /dev/null @@ -1,39 +0,0 @@ -package pp.mdga.client.Dialog; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T072-T075 - */ -public class StartDialogTest { - @Before - public void setUp() { - // This method will be executed before each test. - // Initialize common objects or setup required state for Start Dialog actions. - } - - // UC-StartDialog-01 - @Test - public void testEnterName() { - // TODO: Implement test logic for entering a player name - } - - // UC-StartDialog-02 - @Test - public void testJoinServer() { - // TODO: Implement test logic for joining a game server - } - - // UC-StartDialog-03 - @Test - public void testHostServer() { - // TODO: Implement test logic for hosting a server - } - - // UC-StartDialog-04 - @Test - public void testExitGame() { - // TODO: Implement test logic for exiting the game - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java deleted file mode 100644 index c5c84b68..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/client/clientState/ClientStateTest.java +++ /dev/null @@ -1,1429 +0,0 @@ -package pp.mdga.client.clientState; - -import org.junit.Before; -import org.junit.Test; -import pp.mdga.client.*; -import pp.mdga.client.CeremonyState; -import pp.mdga.client.ceremonyState.PodiumState; -import pp.mdga.client.ceremonyState.StatisticsState; -import pp.mdga.client.dialogState.LobbyState; -import pp.mdga.client.dialogState.NetworkDialogState; -import pp.mdga.client.dialogState.StartDialogState; -import pp.mdga.client.gameState.*; -import pp.mdga.client.gameState.turnState.choosePieceState.*; -import pp.mdga.client.gameState.determineStartPlayer.DetermineStartPlayerStateMachine; -import pp.mdga.client.gameState.turnState.*; -import pp.mdga.client.gameState.turnState.powerCardState.ChoosePowerCardState; -import pp.mdga.client.gameState.turnState.powerCardState.ShieldState; -import pp.mdga.client.gameState.turnState.powerCardState.SwapState; -import pp.mdga.client.SettingsState; -import pp.mdga.client.settingsState.AudioSettingsState; -import pp.mdga.client.settingsState.MainSettingsState; -import pp.mdga.client.settingsState.VideoSettingsState; -import pp.mdga.game.BonusCard; -import pp.mdga.game.Color; -import pp.mdga.message.client.ClientMessage; - -import java.util.ArrayList; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotEquals; -import static org.junit.Assert.assertTrue; - -/** - * this test-class tests the testcases T170-T239 - */ -public class ClientStateTest { - - //sets the variables for the states - private AnimationState animationState; - private AudioSettingsState audioSettingsState; - private CeremonyState ceremonyState; - private CeremonyStateMachine ceremonyStateMachine; - private ChoosePieceState choosePieceState; - private ChoosePieceStateMachine choosePieceStateMachine; - private ChoosePowerCardState choosePowerCardState; - private ClientAutomaton clientAutomaton; - private ClientGameLogic clientGameLogic; - private DetermineStartPlayerState determineStartPlayerState; - private DetermineStartPlayerStateMachine determineStartPlayerStateMachine; - private DialogsState dialogsState; - private DialogsStateMachine dialogsStateMachine; - private GameState gameState; - private GameStateMachine gameStateMachine; - private InterruptState interruptState; - private LobbyState lobbyState; - private MainSettingsState mainSettingsState; - private MovePieceState movePieceState; - private NetworkDialogState networkDialogState; - private NoPieceState noPieceState; - private PlayPowerCardState playPowerCardState; - private PodiumState podium; - private PowerCardState powerCardState; - private PowerCardStateMachine powerCardStateMachine; - private RollDiceState rollDiceState; - private RollRankingDice rollRankingDice; - private SelectPieceState selectPieceState; - private SettingsState settingsState; - private SettingsStateMachine settingsStateMachine; - private ShieldState shieldState; - private SpectatorState spectatorState; - private StartDialogState startDialogState; - private StartPieceState startPieceState; - private StatisticsState statistics; - private SwapState swapState; - private TurnState turnState; - private TurnStateMachine turnStateMachine; - private VideoSettingsState videoSettingsState; - private WaitingState waitingState; - private WaitingPieceState waitingPieceState; - private WaitRanking waitRanking; - - //sets the variables for the messages - private ActivePlayer activePlayer; - private AnyPiece anyPiece; - private Briefing briefing; - private CeremonyMessage ceremonyMessage; - private Dice dice; - private DiceAgain diceAgain; - private DiceNow diceNow; - private EndOfTurn endOfTurn; - private LobbyAccept lobbyAccept; - private LobbyDeny lobbyDeny; - private LobbyPlayerJoin lobbyPlayerJoin; - private LobbyPlayerLeave lobbyPlayerLeave; - private MoveMessage moveMessage; - private NoTurn noTurn; - private PauseGame pauseGame; - private PossibleCard possibleCard; - private PossiblePiece possiblePiece; - private RankingResponse rankingResponce; - private RankingRollAgain rankingRollAgain; - private ReconnectBriefing reconnectBriefing; - private ResumeGame resumeGame; - private ServerStartGame startGame; - private StartPieceState startPieceStateMessage; - private UpdateReady updateReady; - private UpdateTSK updateTSK; - private WaitPiece waitPiece; - - private PlayCard playCardSwap; - private PlayCard playCardShield; - private PlayCard playCardTurbo; - - private int from; - private String name; - private Color color; - private BonusCard swapCard; - private BonusCard shieldCard; - private BonusCard turboCard; - - private pp.mdga.game.Game game; - - @Before - public void setUp() { - //initialize the game - game = new pp.mdga.game.Game(); - - //initialize the playerID - from=1234; - name="Daniel"; - color=Color.ARMY; - swapCard = BonusCard.SWAP; - shieldCard = BonusCard.SHIELD; - turboCard = BonusCard.TURBO; - - //initialize the messages from the server - activePlayer = new ActivePlayer(color); - anyPiece = new AnyPiece(); - briefing = new Briefing(); - ceremonyMessage = new CeremonyMessage(); - dice = new Dice(6,new ArrayList<>()); - diceAgain = new DiceAgain(); - diceNow = new DiceNow(); - endOfTurn = new EndOfTurn(); - lobbyAccept = new LobbyAccept(); - lobbyDeny = new LobbyDeny(); - lobbyPlayerJoin = new LobbyPlayerJoin(name); - lobbyPlayerLeave = new LobbyPlayerLeave(name,color); - moveMessage = new MoveMessage("www");//Todo - noTurn = new NoTurn(); - pauseGame = new PauseGame(); - playCardSwap = new PlayCard(swapCard,"www");//Todo - playCardShield = new PlayCard(shieldCard,"www");//Todo - playCardTurbo = new PlayCard(turboCard,"www");//Todo - possibleCard = new PossibleCard(); - possiblePiece = new PossiblePiece(); - rankingResponce = new RankingResponse(); - rankingRollAgain = new RankingRollAgain(); - reconnectBriefing = new ReconnectBriefing(game); - resumeGame = new ResumeGame(); - startGame = new ServerStartGame(); - startPieceStateMessage = new StartPieceState(); //Todo wrong class - updateReady = new UpdateReady(color,true); - updateTSK = new UpdateTSK(name,color); - waitPiece = new WaitPiece(); - - //initialize the clientGameLogic - clientGameLogic = new ClientGameLogic(game, new ClientSender() { - @Override - public void send(ClientMessage msg) { - - } - }); - clientAutomaton = (ClientAutomaton) clientGameLogic.getState(); - - //initialize the settings - mainSettingsState = new MainSettingsState(settingsStateMachine,clientGameLogic); - videoSettingsState = new VideoSettingsState(settingsStateMachine,clientGameLogic); - audioSettingsState = new AudioSettingsState(settingsStateMachine,clientGameLogic); - settingsState = new SettingsState(clientAutomaton,clientGameLogic); - - - //initialize the stateMachines - ceremonyStateMachine = ceremonyState.getCeremonyStateMachine(); - choosePieceStateMachine = choosePieceState.getChoosePieceStateMachine(); - determineStartPlayerStateMachine = determineStartPlayerState.getDetermineStartPlayerStateMachine(); - dialogsStateMachine = dialogsState.getDialogsStateMachine(); - gameStateMachine = gameState.getGameStateMachine(); - powerCardStateMachine = powerCardState.getPowerCardStateMachine(); - settingsStateMachine = settingsState.getSettingsStateMachine(); - turnStateMachine = turnState.getTurnStateMachine(); - - - //initialize the states - dialogsState = new DialogsState(clientAutomaton,clientGameLogic); - gameState = new GameState(clientAutomaton,clientGameLogic); - ceremonyState = new CeremonyState(clientAutomaton,clientGameLogic); - interruptState = new InterruptState(clientAutomaton,clientGameLogic,gameState); - - startDialogState = new StartDialogState(dialogsStateMachine,clientGameLogic); - networkDialogState = new NetworkDialogState(dialogsStateMachine,clientGameLogic); - lobbyState = new LobbyState(dialogsStateMachine,clientGameLogic); - - podium = new PodiumState(ceremonyStateMachine,clientGameLogic); - statistics = new StatisticsState(ceremonyStateMachine,clientGameLogic); - - determineStartPlayerState = new DetermineStartPlayerState(gameStateMachine,clientGameLogic); - waitingState = new WaitingState(gameStateMachine,clientGameLogic); - animationState = new AnimationState(gameStateMachine,clientGameLogic); - turnState = new TurnState(gameStateMachine,clientGameLogic); - spectatorState = new SpectatorState(gameStateMachine,clientGameLogic); - - rollRankingDice = new RollRankingDice(determineStartPlayerStateMachine,clientGameLogic); - waitRanking = new WaitRanking(determineStartPlayerStateMachine,clientGameLogic); - - powerCardState = new PowerCardState(turnStateMachine,clientGameLogic); - playPowerCardState = new PlayPowerCardState(turnStateMachine,clientGameLogic); - rollDiceState = new RollDiceState(turnStateMachine,clientGameLogic); - choosePieceState = new ChoosePieceState(turnStateMachine,clientGameLogic); - movePieceState = new MovePieceState(turnStateMachine,clientGameLogic); - - choosePowerCardState = new ChoosePowerCardState(powerCardStateMachine,clientGameLogic); - shieldState =new ShieldState(powerCardStateMachine,clientGameLogic); - swapState = new SwapState(powerCardStateMachine,clientGameLogic); - - noPieceState = new NoPieceState(choosePieceStateMachine,clientGameLogic); - waitingPieceState = new WaitingPieceState(choosePieceStateMachine,clientGameLogic); - selectPieceState = new SelectPieceState(choosePieceStateMachine,clientGameLogic); - startPieceState = new StartPieceState(choosePieceStateMachine,clientGameLogic); - } - - /** - * UC-ClientState-01: Test the initial state of the ClientState. - */ - @Test - public void testInitialStateClientState() { - //tests if the clientAutomaton is in Dialogs - assertNotEquals(clientAutomaton.getState() , null); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - DialogsState dialogsState = (DialogsState) clientAutomaton.getState(); - DialogsStateMachine dialogsStateMachine1 = dialogsState.getDialogsStateMachine(); - //tests if the statemachine is in StartDialog - assertNotEquals(dialogsStateMachine1.getState(), null); - assertTrue(dialogsStateMachine1.getState() instanceof StartDialogState); - } - - /** - * UC-ClientState-02: Test the transition from dialogs to the game state. - */ - @Test - public void testDialogsToGame() { - //tests if the client is in Dialogs - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the startGame-Message to the client - clientGameLogic.receive(startGame); - - //tests if the client is in the gameState after receiving the message - assertTrue(clientAutomaton.getState() instanceof GameState); - - //tests if the new State of the GameStateMachine is in DetermineStartPlayer - GameState gameState1 = (GameState) clientAutomaton.getState(); - GameStateMachine gameStateMachine1 = gameState1.getGameStateMachine(); - assertTrue(gameStateMachine1.getState() instanceof DetermineStartPlayerState); - - //tests if the new State of DetermineStartPlayer is RollRankingDice - DetermineStartPlayerState determineStartPlayerState1 =(DetermineStartPlayerState) gameStateMachine1.getState(); - DetermineStartPlayerStateMachine determineStartPlayerStateMachine1 = determineStartPlayerState1.getDetermineStartPlayerStateMachine(); - assertTrue(determineStartPlayerStateMachine1.getState() instanceof RollRankingDice); - } - - /** - * UC-ClientState-03: Test the transition from dialogs to the end state of ClientState . - */ - @Test - public void testDialogsToClientStateEndState() { - //Todo Implementation goes here - //TODO how????????? - } - - /** - * UC-ClientState-04: Test the transition from ClientGame to Ceremony. - */ - @Test - public void testClientGameToCeremony() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the Ceremony-Message to the client - clientGameLogic.receive(ceremonyMessage); - - //tests if the client is in the ceremony after receiving the message - assertTrue(clientAutomaton.getState() instanceof CeremonyState); - - //tests if the state of ceremony is Podium - CeremonyState ceremonyState1 = (CeremonyState) clientAutomaton.getState(); - CeremonyStateMachine ceremonyStateMachine1 = ceremonyState1.getCeremonyStateMachine(); - assertTrue(ceremonyStateMachine1.getState() instanceof PodiumState); - } - - /** - * UC-ClientState-05: Test the transition from ClientGame substates to Interrupt. - */ - @Test - public void testClientGameSubStatesToInterrupt() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - - //tests if the client is in GameState - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the Ceremony-Message to the client - clientGameLogic.receive(interruptState); - - //tests if the client-automaton is in the interrupt state - assertTrue(clientAutomaton.getState() instanceof InterruptState); - } - - /** - * UC-ClientState-06: Test the transition from the game state to dialogs. - */ - @Test - public void testGameToDialogs() { - // Todo Implementation goes here - } - - /** - * UC-ClientState-07: Test remaining in the Interrupt state. - */ - @Test - public void testStayInInterrupt() { - //sends the ClientAutomaton in Interrupt - clientAutomaton.gotoState(interruptState); - assertTrue(clientAutomaton.getState() instanceof InterruptState); - - //Todo send all messages except the continue-message - - assertTrue(clientAutomaton.getState() instanceof InterruptState); - } - - /** - * UC-ClientState-08: Test the transition from ClientInterrupt to the game state. - */ - @Test - public void testClientInterruptToGame() { - //sends the ClientAutomaton in Interrupt - clientAutomaton.gotoState(interruptState); - assertTrue(clientAutomaton.getState() instanceof InterruptState); - - //Todo sends the continue-message - - //tests if the client is in the game - assertTrue(clientAutomaton.getState() instanceof GameState); - } - - /** - * UC-ClientState-09: Test the transition from Interrupt to dialogs. - */ - @Test - public void testInterruptToDialogs() { - //sends the ClientAutomaton in Interrupt - clientAutomaton.gotoState(interruptState); - assertTrue(clientAutomaton.getState() instanceof InterruptState); - - //Todo send the server-closed message and the leave option - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - DialogsState dialogsState1 = (DialogsState) clientAutomaton.getState(); - DialogsStateMachine dialogsStateMachine1 = dialogsState1.getDialogsStateMachine(); - assertTrue(dialogsStateMachine1.getState() instanceof StartDialogState); - } - - /** - * UC-ClientState-10: Test the transition from Ceremony to dialogs. - */ - @Test - public void testCeremonyToDialogs() { - //send the client in the ceremony - clientAutomaton.gotoState(ceremonyState); - assertTrue(clientAutomaton.getState() instanceof CeremonyState); - - //sends the ceremony machine in the statistics - ceremonyStateMachine.gotoState(statistics); - assertTrue(ceremonyStateMachine.getState() instanceof StatisticsState); - - //Todo simulate the button next - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - DialogsState dialogsState1 = (DialogsState) clientAutomaton.getState(); - DialogsStateMachine dialogsStateMachine1 = dialogsState1.getDialogsStateMachine(); - assertTrue(dialogsStateMachine1.getState() instanceof StartDialogState); - } - - /** - * UC-ClientState-11: Test the transition from StartDialog to NetworkDialog1. - */ - @Test - public void testStartDialogToNetworkDialog1() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in StartDialog - dialogsStateMachine.gotoState(startDialogState); - assertTrue(dialogsStateMachine.getState() instanceof StartDialogState); - - //todo simulate pushBtn as client or host - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - } - - /** - * UC-ClientState-12: Test the transition from StartDialog to NetworkDialog2. - */ - @Test - public void testStartDialogToNetworkDialog2() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in StartDialog - dialogsStateMachine.gotoState(startDialogState); - assertTrue(dialogsStateMachine.getState() instanceof StartDialogState); - - //todo simulate pushBtn as client or host - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - } - - /** - * UC-ClientState-13: Test the transition from StartDialog to the dialogs end state. - */ - @Test - public void testStartDialogToDialogsEndState() { - // Implementation goes here - //TODO how to test? - } - - /** - * UC-ClientState-14: Test the transition from NetworkDialog to StartDialog. - */ - @Test - public void testNetworkDialogToStartDialog() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in NetworkDialog - dialogsStateMachine.gotoState(networkDialogState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - - //todo simulate pushBtn - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof StartDialogState); - } - - /** - * UC-ClientState-15: Test the transition from NetworkDialog to NetworkDialog1. - */ - @Test - public void testNetworkDialogToNetworkDialog1() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in NetworkDialog - dialogsStateMachine.gotoState(networkDialogState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - - //todo test receiving all messages and making input - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - } - - /** - * UC-ClientState-16: Test the transition from NetworkDialog to NetworkDialog2. - */ - @Test - public void testNetworkDialogToNetworkDialog2() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in NetworkDialog - dialogsStateMachine.gotoState(networkDialogState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - - //todo simulate try connect to server ith wrong variables - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - - //todo simulate try connect to server with send: join-lobby and receive lobby-refuse-message - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - } - - /** - * UC-ClientState-17: Test the transition from NetworkDialog to Lobby. - */ - @Test - public void testNetworkDialogToLobby() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in NetworkDialog - dialogsStateMachine.gotoState(networkDialogState); - assertTrue(dialogsStateMachine.getState() instanceof NetworkDialogState); - - //todo simulate connect to server with send lobby request - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof LobbyState); - } - - /** - * UC-ClientState-18: Test the transition from Lobby to StartDialog. - */ - @Test - public void testLobbyToStartDialog() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in Lobby - dialogsStateMachine.gotoState(lobbyState); - assertTrue(dialogsStateMachine.getState() instanceof LobbyState); - - //todo simulate leave the lobby - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof StartDialogState); - } - - /** - * UC-ClientState-19: Test remaining in the Lobby state. - */ - @Test - public void testStayInLobby() { - // sends the clientAutomaton in StartDialog - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the DialogsStateMachine in Lobby - dialogsStateMachine.gotoState(lobbyState); - assertTrue(dialogsStateMachine.getState() instanceof LobbyState); - - //todo send all messages that dont indicate a change-state - - assertTrue(clientAutomaton.getState() instanceof DialogsState); - assertTrue(dialogsStateMachine.getState() instanceof LobbyState); - } - - /** - * UC-ClientState-20: Test the transition from Lobby to RollRankingDice. - */ - @Test - public void testLobbyToRollRankingDice() { - //sends the clientStatemachine in Dialogs - clientAutomaton.gotoState(dialogsState); - assertTrue(clientAutomaton.getState() instanceof DialogsState); - - //sends the clientStatemachine in Lobby - dialogsStateMachine.gotoState(lobbyState); - assertTrue(dialogsStateMachine.getState() instanceof LobbyState); - - //sends the message to start the game - clientGameLogic.receive();//TODO message - - //tests if the clientStateMachine is in the GameState - assertTrue(clientAutomaton.getState() instanceof GameState); - - //tests if the clientStateMachine is in the DetermineStartPlayer - GameState gameState1 = (GameState) clientAutomaton.getState(); - GameStateMachine gameStateMachine1 = gameState1.getGameStateMachine(); - assertTrue(gameStateMachine1.getState() instanceof DetermineStartPlayerState); - - //tests if the clientStateMachine is in the RollRankingDice - DetermineStartPlayerState determineStartPlayerState1 = (DetermineStartPlayerState) gameStateMachine1.getState(); - DetermineStartPlayerStateMachine determineStartPlayerStateMachine1 = determineStartPlayerState1.getDetermineStartPlayerStateMachine(); - assertTrue(determineStartPlayerStateMachine1.getState() instanceof RollRankingDice); - } - - /** - * UC-ClientState-21: Test the transition from DetermineStartPlayer to Wait. - */ - @Test - public void testDetermineStartPlayerToWait() { - // Todo Implementation goes here - } - - /** - * UC-ClientState-22: Test the transition from Wait to Animation. - */ - @Test - public void testWaitToAnimation() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the client in WaitState - gameStateMachine.gotoState(waitingState); - assertTrue(gameStateMachine.getState() instanceof WaitingState); - - //tests if a piece is moved,that the client goes into Animation - clientGameLogic.receive(moveMessage); //Todo ??? richtige message - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof AnimationState); - - //sends the client in WaitState - gameStateMachine.gotoState(waitingState); - assertTrue(gameStateMachine.getState() instanceof WaitingState); - - //tests if a powerCard is played,that the client goes into Animation - clientGameLogic.receive(playCardTurbo); //Todo ??? richtige message - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof AnimationState); - - //sends the client in WaitState - gameStateMachine.gotoState(waitingState); - assertTrue(gameStateMachine.getState() instanceof WaitingState); - - //tests if a die is rolled,that the client goes into Animation - clientGameLogic.receive(dice); //Todo ??? richtige message - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof AnimationState); - } - - /** - * UC-ClientState-23: Test the transition from Wait to Turn. - */ - @Test - public void testWaitToTurn() { - //sends client in gameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Waiting - gameStateMachine.gotoState(waitingState); - assertTrue(gameStateMachine.getState() instanceof WaitingState); - - //the client receives the message ActivePlayer - clientGameLogic.receive(activePlayer); - - //tests if the client is in GameState - assertTrue(clientAutomaton.getState() instanceof GameState); - - //tests if Client is in Turn - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //tests if Client is in PowerCard - TurnStateMachine turnStateMachine1 = turnState.getTurnStateMachine(); - assertTrue(turnStateMachine1.getState() instanceof PowerCardState); - - //tests if Client is in ChoosePowerCard - PowerCardStateMachine powerCardStateMachine1 = powerCardState.getPowerCardStateMachine(); - assertTrue(powerCardStateMachine1.getState() instanceof ChoosePowerCardState); - } - - /** - * UC-ClientState-24: Test the transition from Wait to GameEndState. - */ - @Test - public void testWaitToGameEndState() { - // Implementation goes here - } - - /** - * UC-ClientState-25: Test the transition from Turn substates to GameEndState. - */ - @Test - public void testTurnSubStatesToGameEndState() { - // Implementation goes here - } - - /** - * UC-ClientState-26: Test the transition from Turn sub-states to Wait. - */ - @Test - public void testTurnSubStatesToWait() { - // Implementation goes here - } - - /** - * UC-ClientState-27: Test the transition from Turn sub-states to Spectator. - */ - @Test - public void testTurnSubStatesToSpectator() { - // Implementation goes here - } - - /** - * UC-ClientState-28: Test the transition from Spectator to GameEndState. - */ - @Test - public void testSpectatorToGameEndState() { - // Implementation goes here - } - - /** - * UC-ClientState-29: Test the transition from PowerCard sub-states to PlayPowerCard. - */ - @Test - public void testPowerCardSubStatesToPlayPowerCard() { - // Implementation goes here - } - - /** - * UC-ClientState-30: Test the transition from PowerCard sub-states to RollDice. - */ - @Test - public void testPowerCardSubStatesToRollDice() { - // Implementation goes here - } - - /** - * UC-ClientState-31: Test staying in the PlayPowerCard state. - */ - @Test - public void testStayInPlayPowerCard() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PlayPowerCard - turnStateMachine.gotoState(playPowerCardState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCardState); - - //Todo send messages to test to stay in playPowerCard - - //tests if the client is in PlayPowerCard - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCardState); - } - - /** - * UC-ClientState-32: Test the transition from PlayPowerCard to RollDice. - */ - @Test - public void testPlayPowerCardToRollDice() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PlayPowerCard - turnStateMachine.gotoState(playPowerCardState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCardState); - - //Todo send messages to test the transition in rollDice - //Todo test other messages, that there is no state change - - //tests if the client is in RollDice - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - } - - /** - * UC-ClientState-33: Test staying in the RollDice state. - */ - @Test - public void testStayInRollDice() { - // Implementation goes here - } - - /** - * UC-ClientState-34: Test the transition from RollDice to ChoosePiece. - */ - @Test - public void testRollDiceToChoosePiece() { - // Implementation goes here - } - - /** - * UC-ClientState-35: Test the transition from RollDice to Wait. - */ - @Test - public void testRollDiceToWait() { - // Implementation goes here - } - - /** - * UC-ClientState-36: Test the transition from ChoosePiece to Wait. - */ - @Test - public void testChoosePieceToWait() { - // Implementation goes here - } - - /** - * UC-ClientState-37: Test the transition from ChoosePiece to MovePiece. - */ - @Test - public void testChoosePieceToMovePiece() { - // Implementation goes here - } - - /** - * UC-ClientState-38: Test the transition from MovePiece to Wait. - */ - @Test - public void testMovePieceToWait() { - // Implementation goes here - } - - /** - * UC-ClientState-39: Test the transition from MovePiece to Spectator. - */ - @Test - public void testMovePieceToSpectator() { - // Implementation goes here - } - - /** - * UC-ClientState-40: Test the transition from MovePiece to Ceremony. - */ - @Test - public void testMovePieceToCeremony() { - // Implementation goes here - } - - /** - * UC-ClientState-41: Test staying in the ChoosePowerCard state. - */ - @Test - public void testStayInChoosePowerCard() { - // Implementation goes here - } - - /** - * UC-ClientState-42: Test the transition from ChoosePowerCard to RollDice. - */ - @Test - public void testChoosePowerCardToRollDice() { - - //TODO - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //sends the turnStatemachine in ChoosePiece - powerCardStateMachine.gotoState(choosePowerCardState); - assertTrue(powerCardStateMachine.getState() instanceof ChoosePowerCardState); - - //todo send the messages, to force a state change to rollDice - - //tests if the turnStateMachine is in RollDice - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - } - - /** - * UC-ClientState-43: Test the transition from ChoosePowerCard to Swap. - */ - @Test - public void testChoosePowerCardToSwap() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //sends the turnStatemachine in ChoosePiece - powerCardStateMachine.gotoState(choosePowerCardState); - assertTrue(powerCardStateMachine.getState() instanceof ChoosePowerCardState); - - //todo send the messages, to force a state change to swap - - //tests if the client is in Swap - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - assertTrue(powerCardStateMachine.getState() instanceof SwapState); - } - - /** - * UC-ClientState-44: Test the transition from ChoosePowerCard to Shield. - */ - @Test - public void testChoosePowerCardToShield() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //sends the turnStatemachine in ChoosePiece - powerCardStateMachine.gotoState(choosePowerCardState); - assertTrue(powerCardStateMachine.getState() instanceof ChoosePowerCardState); - - //todo send the messages, to force a state change to shield - - //tests if the client is in Shield - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - assertTrue(powerCardStateMachine.getState() instanceof ShieldState); - } - - /** - * UC-ClientState-45: Test staying in the Shield state. - */ - @Test - public void testStayInShield() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //sends the turnStatemachine in Shield - powerCardStateMachine.gotoState(shieldState); - assertTrue(powerCardStateMachine.getState() instanceof ShieldState); - - //todo send the messages, which dont force a statechange - - //tests if the client is in PlayPowerCard - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - assertTrue(powerCardStateMachine.getState() instanceof PlayPowerCardState); - } - - /** - * UC-ClientState-46: Test the transition from Shield to PowerCardEndState. - */ - @Test - public void testShieldToPowerCardEndState() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //sends the turnStatemachine in Shield - PowerCardStateMachine powerCardStateMachine1 = powerCardState.getPowerCardStateMachine(); - powerCardStateMachine1.gotoState(shieldState); - assertTrue(powerCardStateMachine1.getState() instanceof ShieldState); - - //todo send the message to force the statechange - - //tests if the client is in PlayPowerCard - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCardState); - } - - /** - * UC-ClientState-47: Test the transition from Swap to PowerCardEndState. - */ - @Test - public void testSwapToPowerCardEndState() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //sends the turnStatemachine in Swap - powerCardStateMachine.gotoState(swapState); - assertTrue(powerCardStateMachine.getState() instanceof SwapState); - - //todo send the message to force the statechange - - //tests if the client is in PlayPowerCard - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCardState); - } - - /** - * UC-ClientState-48: Test no piece in WaitingPiece state. - */ - @Test - public void testNoPieceInWaitingPiece() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in NoPiece - turnStateMachine.gotoState(noPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //Todo test other messages, that there is no state change - - //sends to the clientGameLogic the message WaitPiece - clientGameLogic.receive(waitPiece); - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - } - - /** - * UC-ClientState-49: Test no piece in SelectedPiece state. - */ - @Test - public void testNoPieceInSelectedPiece() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in NoPiece - choosePieceStateMachine.gotoState(noPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //Todo test other messages, that there is no state change - - //sends to the clientGameLogic the message SelectPiece - clientGameLogic.receive(selectPieceState); - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - } - - /** - * UC-ClientState-50: Test no piece in StartPiece state. - */ - @Test - public void testNoPieceInStartPiece() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in NoPiece - choosePieceStateMachine.gotoState(noPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //Todo test other messages, that there is no state change - - //sends to the clientGameLogic the message StartPiece - clientGameLogic.receive(startPieceState); - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - } - - /** - * UC-ClientState-51: Test no piece in Wait state. - */ - @Test - public void testNoPieceInWait() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in NoPiece - choosePieceStateMachine.gotoState(noPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //Todo test other messages, that there is no state change - - //sends to the clientGameLogic the message NoTurn - clientGameLogic.receive(noTurn); - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof WaitingState); - } - - /** - * UC-ClientState-52: Test staying in the WaitingPiece state. - */ - @Test - public void testStayInWaitingPiece() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in WaitingPiece - choosePieceStateMachine.gotoState(waitingPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - - //TODO send all sever-messages except ... to the clientGameLogic to test there are no state change - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - } - - /** - * UC-ClientState-53: Test the WaitingPiece to ChoosePiece end state. - */ - @Test - public void testWaitingPieceInChoosePieceEndState() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in WaitingPiece - choosePieceStateMachine.gotoState(waitingPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - - //Todo send the message to the clientGameLogic to force a state change - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof MovePieceState); - } - - /** - * UC-ClientState-54: Test staying in the SelectedPiece state. - */ - @Test - public void testStayInSelectedPiece() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in SelectPiece; - choosePieceStateMachine.gotoState(selectPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - - //Todo send all server messages which dont force a state change here - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - } - - /** - * UC-ClientState-55: Test the SelectedPiece to ChoosePiece end state. - */ - @Test - public void testSelectedPieceInChoosePieceEndState() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in SelectPiece - choosePieceStateMachine.gotoState(selectPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - - //Todo send the message which force a state change - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof MovePieceState); - } - - /** - * UC-ClientState-56: Test staying in the StartPiece state. - */ - @Test - public void testStayInStartPiece() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in StartPiece - choosePieceStateMachine.gotoState(startPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - - //todo send all messages which dont force a state change - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - } - - /** - * UC-ClientState-57: Test the StartPiece to ChoosePiece end state. - */ - @Test - public void testStartPieceToChoosePieceEndState() { - //sends the ClientAutomaton in GameState - clientAutomaton.gotoState(gameState); - assertTrue(clientAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in the Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the turnStatemachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the choosePieceStatemachine in StartPiece - choosePieceStateMachine.gotoState(startPieceState); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - - //Todo send the message which force a state change - - assertTrue(clientAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof MovePieceState); - } - - /** - * UC-ClientState-58: Test the transition from RollRankingDice to WaitRanking. - */ - @Test - public void testRollRankingDiceToWaitRanking() { - // Implementation goes here - } - - /** - * UC-ClientState-59: Test the transition from WaitRanking to RollRankingDice. - */ - @Test - public void testWaitRankingToRollRankingDice() { - // Implementation goes here - } - - /** - * UC-ClientState-60: Test the transition from WaitRanking to the EndState of determining the starting player. - */ - @Test - public void testWaitRankingToEndStateDetermineStartingPlayer() { - // Implementation goes here - } - - /** - * UC-ClientState-61: Test the transition from Podium to Statistics. - */ - @Test - public void testPodiumToStatistics() { - // Implementation goes here - } - - /** - * UC-ClientState-62: Test the transition from Statistics to the Ceremony end state. - */ - @Test - public void testStatisticsToCeremonyEndState() { - // Implementation goes here - } - - /** - * UC-ClientState-63: Test the transition from MainSettings to VideoSettings. - */ - @Test - public void testMainSettingsToVideoSettings() { - // Implementation goes here - } - - /** - * UC-ClientState-64: Test the transition from MainSettings to AudioSettings. - */ - @Test - public void testMainSettingsToAudioSettings() { - // Implementation goes here - } - - /** - * UC-ClientState-65: Test the transition from MainSettings to ClientState. - */ - @Test - public void testMainSettingsToClientState() { - // Implementation goes here - } - - /** - * UC-ClientState-66: Test staying in the VideoSettings state. - */ - @Test - public void testStayInVideoSettings() { - // Implementation goes here - } - - /** - * UC-ClientState-67: Test the transition from VideoSettings to MainSettings. - */ - @Test - public void testVideoSettingsToMainSettings() { - // Implementation goes here - } - - /** - * UC-ClientState-68: Test staying in the AudioSettings state. - */ - @Test - public void testStayInAudioSettings() { - // Implementation goes here - } - - /** - * UC-ClientState-69: Test the transition from AudioSettings to MainSettings. - */ - @Test - public void testAudioSettingsToMainSettings() { - // Implementation goes here - } - - /** - * UC-ClientState-70: Test the transition from ClientState substates to MainSettings. - */ - @Test - public void testClientStateSubStatesToMainSettings() { - // Implementation goes here - } - -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/game/GameTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/game/GameTest.java deleted file mode 100644 index 225e0db2..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/game/GameTest.java +++ /dev/null @@ -1,106 +0,0 @@ -package pp.mdga.game; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T001-T016 - */ -public class GameTest { - - @Before - public void setup() { - - } - - @Test - public void testStartLineUp() { - // TODO: Implement test logic for starting line-up - } - - @Test - public void testCreatePowerCardDeck() { - // TODO: Implement test logic for creating power card deck - } - - // UC-Game-02 - @Test - public void testGameFinishes() { - // TODO: Implement test logic for game finishes - } - - // UC-Game-03 - @Test - public void testPlayerFinishes() { - // TODO: Implement test logic for player finishes - } - - // UC-Game-04 - @Test - public void testAllPiecesInWaitingArea() { - // TODO: Implement test logic for checking if all pieces are in the waiting area - } - - @Test - public void test3TriesFor6() { - // TODO: Implement test logic for checking 3 tries for rolling a 6 - } - - // UC-Game-05 - @Test - public void testGameTerminates() { - // TODO: Implement test logic for game termination - } - - // UC-Game-06 - @Test - public void testStartingOrder() { - // TODO: Implement test logic for verifying starting order of players - } - - // UC-Game-07 - @Test - public void testDouble() { - // TODO: Implement test logic for testing the double rule - } - - // UC-Game-08 - @Test - public void testChangeActivePlayer() { - // TODO: Implement test logic for changing the active player - } - - // UC-Game-09 - @Test - public void testUseTurbo() { - // TODO: Implement test logic for using a turbo power-up - } - - @Test - public void testMuliplicationChance() { - // TODO: Implement test logic for testing multiplication chance power-up - } - - // UC-Game-10 - @Test - public void testTurboOn6() { - // TODO: Implement test logic for turbo activation on rolling a 6 - } - - // UC-Game-11 - @Test - public void testAwardCeremony() { - // TODO: Implement test logic for award ceremony - } - - @Test - public void testStatistics() { - // TODO: Implement test logic for gathering or displaying game statistics - } - - // UC-Game-12 - @Test - public void testRefillPowerCardDeck() { - // TODO: Implement test logic for refilling the power card deck - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java deleted file mode 100644 index 30c770c1..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/game/PieceTest.java +++ /dev/null @@ -1,147 +0,0 @@ -package pp.mdga.game; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T035-T058 - */ -public class PieceTest { - - @Before - public void Setup() { - - } - - // UC-Piece-01 - @Test - public void testMove() { - // TODO: Implement test logic for moving a piece - } - - // UC-Piece-02 - @Test - public void testCantMove() { - // TODO: Implement test logic for when a piece can't move - } - - // UC-Piece-03 - @Test - public void testNoPossibleMove() { - // TODO: Implement test logic for when no possible moves are available - } - - @Test - public void testThrow() { - // TODO: Implement test logic for throwing a piece off the board - } - - // UC-Piece-04 - @Test - public void testGetThrown() { - // TODO: Implement test logic for when a piece gets thrown - } - - // UC-Piece-05 - @Test - public void testLeaveWaitingArea() { - // TODO: Implement test logic for a piece leaving the waiting area - } - - // UC-Piece-06 - @Test - public void testMustLeaveStartingField() { - // TODO: Implement test logic for a piece that must leave the starting field - } - - // UC-Piece-07 - @Test - public void testDontHaveToLeaveStartingField() { - // TODO: Implement test logic for when a piece doesn't have to leave the starting field - } - - // UC-Piece-08 - @Test - public void testCantLeaveStartingField() { - // TODO: Implement test logic for when a piece can't leave the starting field - } - - // UC-Piece-09 - @Test - public void testReachBonusField() { - // TODO: Implement test logic for when a piece reaches a bonus field - } - - @Test - public void testNoPowerCards() { - // TODO: Implement test logic for when there are no power cards available - } - - @Test - public void testShufflePile() { - // TODO: Implement test logic for shuffling the pile of power cards - } - - // UC-Piece-10 - @Test - public void testEnterHouse() { - // TODO: Implement test logic for entering the house area - } - - @Test - public void testOnlyEnterOwnHouse() { - // TODO: Implement test logic to ensure a piece can only enter its own house - } - - // UC-Piece-11 - @Test - public void testActiveHomePiece() { - // TODO: Implement test logic for activating a piece in the home area - } - - @Test - public void testCantJumpOverFigureInHouse() { - // TODO: Implement test logic to prevent jumping over another piece in the house - } - - // UC-Piece-12 - @Test - public void testActiveHomePieceBlocked() { - // TODO: Implement test logic for when an active home piece is blocked - } - - @Test - public void testOnStartingFieldWithShield() { - // TODO: Implement test logic for a piece on the starting field with a shield - } - - // UC-Piece-13 - @Test - public void testThrowFigureWithShield() { - // TODO: Implement test logic for attempting to throw a figure with a shield - } - - // UC-Piece-14 - @Test - public void testUseSwap() { - // TODO: Implement test logic for using a swap power-up - } - - // UC-Piece-15 - @Test - public void testUseShield() { - // TODO: Implement test logic for using a shield power-up - } - - // UC-Piece-16 - @Test - public void testLoseShield() { - // TODO: Implement test logic for when a piece loses its shield - } - - // UC-Piece-17 - @Test - public void testFinishedPiece() { - // TODO: Implement test logic for a piece that has finished the game - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/server/ServerTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/server/ServerTest.java deleted file mode 100644 index 52a04bc3..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/server/ServerTest.java +++ /dev/null @@ -1,49 +0,0 @@ -package pp.mdga.server; - -import org.junit.Before; -import org.junit.Test; - -/** - * this test-class tests the testcases T059-T065 - */ -public class ServerTest { - @Before - public void Setup() { - - } - - @Test - public void testServerStart() { - - } - - @Test - public void testServerDoesntStart() { - - } - - @Test - public void testAcceptRequest() { - - } - - @Test - public void testTerminateServer() { - - } - - @Test - public void testServerEndsGame() { - - } - - @Test - public void testDeclineConnection() { - - } - - @Test - public void testDeclineRequest() { - - } -} diff --git a/Projekte/mdga/model/src/test/java/pp/mdga/server/serverState/ServerStateTest.java b/Projekte/mdga/model/src/test/java/pp/mdga/server/serverState/ServerStateTest.java deleted file mode 100644 index f410785c..00000000 --- a/Projekte/mdga/model/src/test/java/pp/mdga/server/serverState/ServerStateTest.java +++ /dev/null @@ -1,1097 +0,0 @@ -package pp.mdga.server.serverState; - -import org.junit.Before; -import org.junit.Test; -import pp.mdga.game.Game; -import pp.mdga.message.server.ServerMessage; -import pp.mdga.server.*; -import pp.mdga.server.automaton.CeremonyState; -import pp.mdga.server.automaton.InterruptState; -import pp.mdga.server.automaton.LobbyState; -import pp.mdga.server.automaton.ServerAutomaton; - -import static org.junit.Assert.*; - -/** - * this test-class tests the Testcases T132-T169 - */ -public class ServerStateTest { - - //Todo - private ServerGameLogic logic; - private AnimationEnd animationEnd; - private ClientStartGame clientStartGame; - private DeselectTSK deselectTSK; - private ForceContinueGame forceContinueGame; - private ForceStartGame forceStartGame; - private JoinServer joinServer; - private LeaveGame leaveGame; - private LobbyNotReady lobbyNotReady; - private LobbyReady lobbyReady; - private NoPowerCard noPowerCard; - private RequestBriefing requestBriefing; - private RequestDice requestDice; - private RequestMove requestMove; - private RequestPlayCard requestPlayCard; - private SelectCard selectCard; - private SelectedPieces selectedPieces; - private SelectTSK selectTSK; - private ClientMessage[] clientMessages; - - //Todo - private int from; - private int fromHost; - - //Todo - private GameStateMachine gameStateMachine; - private TurnStateMachine turnStateMachine; - private RollDiceMachine rollDiceMachine; - private ChoosePieceStateMachine choosePieceStateMachine; - private ServerAutomaton serverAutomaton; - - //TODO - private Animation animation; - private CeremonyState ceremonyState; - private ChoosePieceState choosePieceState; - private DetermineStartPlayerState determineStartPlayerState; - private FirstRollStateState firstRollState; - private GameState gameState; - private InterruptState interruptState; - private LobbyState lobbyState; - private MovePieceState movePieceState; - private NoPieceState noPiece; - private NoTurnState noTurnState; - private PlayPowerCard playPowerCard; - private PowerCardState powerCardState; - private RollDiceState rollDiceState; - private SecondRollState secondRoll; - private SelectPieceState selectPiece; - private StartPieceState startPiece; - private ThirdRollState thirdRoll; - private TurnState turnState; - private WaitingPieceState waitingPiece; - - /** - * TODO - */ - @Before - public void setUp() { - - logic = new ServerGameLogic(new Game(), new ServerSender() { - @Override - public void send(int id, ServerMessage msg) { - - } - }); - animationEnd = new AnimationEnd(); - clientStartGame = new ClientStartGame(); - deselectTSK = new DeselectTSK(); - forceContinueGame = new ForceContinueGame(); - forceStartGame = new ForceStartGame(); - joinServer = new JoinServer(); - leaveGame = new LeaveGame(); - lobbyReady = new LobbyReady(); - noPowerCard = new NoPowerCard(); - requestBriefing = new RequestBriefing(); - requestDice = new RequestDice(); - requestMove = new RequestMove(); - requestPlayCard = new RequestPlayCard(); - selectCard = new SelectCard(); - selectedPieces = new SelectedPieces(); - selectTSK = new SelectTSK(); - clientMessages = new ClientMessage[]{ - animationEnd, - clientStartGame, - deselectTSK, - forceContinueGame, - forceStartGame, - joinServer, - leaveGame, - lobbyReady, - noPowerCard, - requestBriefing, - requestDice, - requestMove, - requestPlayCard, - selectCard, - selectedPieces, - selectTSK - }; - from = 1234; - fromHost = 2345; - - choosePieceStateMachine = choosePieceState.getChoosePieceMachine(); - rollDiceMachine = rollDiceState.getRollDicemachine(); - turnStateMachine = turnState.getTurnStatemachine(); - serverAutomaton = logic.getServerAutomaton(); - gameStateMachine = gameState.getGameStatemachine(); - - thirdRoll = new ThirdRollState(rollDiceMachine, logic); - secondRoll = new SecondRollState(rollDiceMachine, logic); - firstRollState = new FirstRollStateState(rollDiceMachine, logic); - - noPiece = new NoPieceState(choosePieceStateMachine, logic); - noTurnState = new NoTurnState(choosePieceStateMachine, logic); - waitingPiece = new WaitingPieceState(choosePieceStateMachine, logic); - startPiece = new StartPieceState(choosePieceStateMachine, logic); - selectPiece = new SelectPieceState(choosePieceStateMachine, logic); - - powerCardState = new PowerCardState(turnStateMachine, logic); - playPowerCard = new PlayPowerCard(turnStateMachine, logic); - rollDiceState = new RollDiceState(turnStateMachine, logic); - choosePieceState = new ChoosePieceState(turnStateMachine, logic); - movePieceState = new MovePieceState(turnStateMachine, logic); - - determineStartPlayerState = new DetermineStartPlayerState(gameStateMachine, logic); - turnState = new TurnState(gameStateMachine, logic); - animation = new Animation(gameStateMachine, logic); - - lobbyState = new LobbyState(serverAutomaton, logic); - gameState = new GameState(serverAutomaton, logic); - ceremonyState = new CeremonyState(serverAutomaton, logic); - interruptState = new InterruptState(serverAutomaton, logic, gameState); - } - - /** - * this test-method tests, that the server, when initialized, is in the Lobby-state - */ - @Test - public void testInitialStateServerState() { - assertTrue(serverAutomaton.getState() instanceof LobbyState); - } - - /** - * this method tests that the server, if all players are ready and the startGameMessage is issued, - * changes into the DetermineStartPlayer-state - */ - @Test - public void testLobbyToDetermineStartPlayer() { - //sends the server in the lobby-state - serverAutomaton.gotoState(lobbyState); - assertTrue(serverAutomaton.getState() instanceof LobbyState); - - //sends the startGame message from the Host to the server - logic.received(clientStartGame, from); - - //tests if the server iss in DSP-state - assertTrue(serverAutomaton.getState() instanceof GameState); - GameState gameState1 = (GameState) serverAutomaton.getState();//Todo erzeuge state - GameStateMachine gameStateMachine1 = gameState.getGameStateMachine(); - assertTrue(gameStateMachine1.getState() instanceof DetermineStartPlayerState); - } - - /** - * this method tests, that the server stays in the Lobby - */ - @Test - public void testStayInLobby() { - //sends the server in the lobby-state - serverAutomaton.gotoState(lobbyState); - assertTrue(serverAutomaton.getState() instanceof LobbyState); - - //TODO logic gets all messages - logic.received(animationEnd, from); - logic.received(clientStartGame, from); - logic.received(deselectTSK, from); - logic.received(forceContinueGame, from); - logic.received(forceStartGame, from); - logic.received(joinServer, from); - logic.received(leaveGame, from); - logic.received(lobbyReady, from); - logic.received(noPowerCard, from); - logic.received(requestBriefing, from); - logic.received(requestDice, from); - logic.received(requestMove, from); - logic.received(requestPlayCard, from); - logic.received(selectCard, from); - logic.received(selectedPieces, from); - logic.received(selectTSK, from); - - //tests if Server is still in Lobby - assertTrue(serverAutomaton.getState() instanceof LobbyState); - } - - /** - * this method tests, that the server can go into the interrupt-state - */ - @Test - public void testServerGameSubStatesToInterrupt() { - //sends the server in the gameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); //TODO könnte auch auf gleichheit prüfen - - //TODO create interrupt - - //tests if the server is in the Interrupt-state - assertTrue(serverAutomaton.getState() instanceof InterruptState); - } - - /** - * tests the state-change from Game to Ceremony if the Game is finished - */ - @Test - public void testServerGameToCeremony() { - //sends the server in the gameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //Todo game is finished - - //tests if the server is in the Ceremony-state - assertTrue(serverAutomaton.getState() instanceof CeremonyState); - } - - /** - * this method tests that the server goes back to the Game, when the ForceStartGame-message is issued - */ - @Test - public void testInterruptToGameContinue() { - //sends the server in the Interrupt-State - serverAutomaton.gotoState(interruptState); - assertTrue(serverAutomaton.getState() instanceof InterruptState); - - //sends the continue-message to the server - logic.received(forceContinueGame, from); - - //tests if new Stet is in GameState - assertTrue(serverAutomaton.getState() instanceof GameState); - } - - /** - * this method tests, that the server goes back to the game, if the missing client has reconnected - */ - @Test - public void testInterruptToGameReconnect() { - //sends the server in the Interrupt-State - serverAutomaton.gotoState(interruptState); - assertTrue(serverAutomaton.getState() instanceof InterruptState); - - //todo implement the timer - - //tests if new Stet is in GameState - assertTrue(serverAutomaton.getState() instanceof GameState); - } - - /** - * this method tests, that th e server continues with the game, if there is no time left on the timer - */ - @Test - public void testInterruptToGameTimer() { - //sends the server in the Interrupt-State - serverAutomaton.gotoState(interruptState); - assertTrue(serverAutomaton.getState() instanceof InterruptState); - - //Todo implement the timer - - //tests if new Stet is in GameState - assertTrue(serverAutomaton.getState() instanceof GameState); - } - - /** - * this method tests, that the server closes, if the ceremony has ended - */ - @Test - public void testCeremonyToServerStateEndState() { - // TODO: Implement test logic for transition from Ceremony to Server State End State - // TODO how???? - } - - /** - * this method tests that the server stays in DetermineStartPlayer, when issued messages - */ - @Test - public void testDetermineStartPlayerToDetermineStartPlayer1() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in DSP-state - gameStateMachine.gotoState(determineStartPlayerState); - assertTrue(gameStateMachine.getState() instanceof DetermineStartPlayerState); - - //TODO sends messages to the server - - //tests if the server is still in DSP-state - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof DetermineStartPlayerState); - } - - /** - * this method tests that the server stays in DetermineStartPlayer, when all players are ranked and two of the highest are even - */ - @Test - public void testDetermineStartPlayerToDetermineStartPlayer2() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in DSP-state - gameStateMachine.gotoState(determineStartPlayerState); - assertTrue(gameStateMachine.getState() instanceof DetermineStartPlayerState); - - //TODO sends messages 2 RequestDiceMessage, die gleich geränkt werden to the server - - //tests if the server is still in DSP-state - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof DetermineStartPlayerState); - } - - /** - * this method tests that the server goes into Animation-state, if there is an order - */ - @Test - public void testDetermineStartPlayerToAnimation() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in DSP-state - gameStateMachine.gotoState(determineStartPlayerState); - assertTrue(gameStateMachine.getState() instanceof DetermineStartPlayerState); - - //TODO sends messages 2 RequestDiceMessage, die ungleich geränkt werden, sodass der server weitergeht - - //tests if the Server is in animationState - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof Animation); - } - - /** - * tests that the server goes from the animation-state into PowerCardState, if the animation in the client has ended - * and all players have issued a animationEndMessage - */ - @Test - public void testAnimationToPowerCard() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Animation - gameStateMachine.gotoState(animation); - assertTrue(gameStateMachine.getState() instanceof Animation); - - //receives one animation endMessage and tests if the server is still in the Animation-state - logic.received(animationEnd, fromHost); - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof Animation); - - //receives another animation endMessage - logic.received(animationEnd, from); - - //tests if the server is in the PowerCard-state - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - TurnState turnState1 = (TurnState) gameStateMachine.getState(); - TurnStateMachine turnStateMachine = (TurnStateMachine) turnState1.getTurnStateMachine(); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - } - - /** - * this method tests that the server changes it's state from the turn-state to the animation-state, if there are at - * least two player left - */ - @Test - public void testTurnToAnimation() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //todo set the turn finished and there are still two players left - - //tests if the server is in the AnimationState - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof Animation); - } - - /** - * this method tests that the server changes it's state from the turn-state to the ceremony-state, - * if there is only one player left - */ - @Test - public void testTurnToGameEndState() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //todo set the turn finished and there is only one players left - - //tests if the server is in the end-state of game, Ceremony - assertTrue(serverAutomaton.getState() instanceof CeremonyState); - } - - /** - * this method tests that the server don't change it's state whe issued with messages, - * which don't implicate a statechange - */ - @Test - public void testStayInPowerCard() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //Todo: receive messages which dont lead to a state change - - //tests if the server is in PowerCard - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - } - - /** - * Tests the transition from PowerCard state to PlayPowerCard state. - * UC-ServerState-17 - */ - @Test - public void testPowerCardToPlayPowerCard() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in PowerCard - turnStateMachine.gotoState(powerCardState); - assertTrue(turnStateMachine.getState() instanceof PowerCardState); - - //todo - - //tests if the server is in PlayPowerCard - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCard); - } - - /** - * Tests the transition from PlayPowerCard state to RollDice state. - * UC-ServerState-18 - */ - @Test - public void testPlayPowerCardToRollDice() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in PowerCard - turnStateMachine.gotoState(playPowerCard); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCard); - - //receive first AnimationEndMessage from the host - logic.received(animationEnd, fromHost); - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof PlayPowerCard); - - //receive second AnimationEndMessage - logic.received(animationEnd, from); - - //tests if the server is in RollDice and in FirstRoll - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - RollDiceState rollDiceState = (RollDiceState) turnStateMachine.getState(); - RollDiceMachine rollDiceMachine1 = rollDiceState.getRollDiceStateMachine(); - assertTrue(rollDiceMachine1.getState() instanceof FirstRollStateState); - } - - /** - * Tests the transition from ChoosePiece state to MovePiece state. - * UC-ServerState-19 - */ - @Test - public void testChoosePieceToMovePiece() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //Todo ??? - - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof MovePieceState); - } - - /** - * Tests the transition from MovePiece state to TurnEndState. - * UC-ServerState-20 - */ - @Test - public void testMovePieceToTurnEndState() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in MovePiece - turnStateMachine.gotoState(movePieceState); - assertTrue(turnStateMachine.getState() instanceof MovePieceState); - - //Todo no 6 was rolled, so the server looks, if there are 2 or less player are still in the game - //TODO - - } - - /** - * Tests the transition from MovePiece state to FirstRoll state. - * UC-ServerState-21 - */ - @Test - public void testMovePieceToFirstRoll() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in MovePiece - turnStateMachine.gotoState(movePieceState); - assertTrue(turnStateMachine.getState() instanceof MovePieceState); - - //Todo the player rolled a 6 and the player is not finished - - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - RollDiceState rollDiceState = (RollDiceState) turnStateMachine.getState(); - RollDiceMachine rollDiceMachine1 = rollDiceState.getRollDiceStateMachine(); - assertTrue(rollDiceMachine1.getState() instanceof FirstRollStateState); - } - - /** - * Tests the transition from FirstRoll state to RollDiceEndState. - * UC-ServerState-22 - */ - @Test - public void testFirstRollToRollDiceEndState() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in RollDice - turnStateMachine.gotoState(rollDiceState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - - //sends the RollDiceMachine in FirstRoll - rollDiceMachine.gotoState(firstRollState); - assertTrue(rollDiceMachine.getState() instanceof FirstRollStateState); - - //TODO 2 Möglichkeiten - - //tests if the server is in NoPiece of ChoosePiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - ChoosePieceState choosePieceState1 = (ChoosePieceState) turnStateMachine.getState(); - ChoosePieceStateMachine choosePieceStateMachine = choosePieceState1.getChoosePieceStateMachine(); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - } - - /** - * Tests the transition from FirstRoll state to SecondRoll state. - * UC-ServerState-23 - */ - @Test - public void testFirstRollToSecondRoll() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in RollDice - turnStateMachine.gotoState(rollDiceState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - - //sends the RollDiceMachine in FirstRoll - rollDiceMachine.gotoState(firstRollState); - assertTrue(rollDiceMachine.getState() instanceof FirstRollStateState); - - //Todo player has no figures to move and had no 6 - - //tests if the server is in the SecondRoll - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - assertTrue(rollDiceMachine.getState() instanceof SecondRollState); - } - - /** - * Tests the transition from SecondRoll state to RollDiceEndState. - * UC-ServerState-24 - */ - @Test - public void testSecondRollToRollDiceEndState() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in RollDice - turnStateMachine.gotoState(rollDiceState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - - //sends the RollDiceMachine in SecondRoll - rollDiceMachine.gotoState(secondRoll); - assertTrue(rollDiceMachine.getState() instanceof SecondRollState); - - //Todo - - //tests if the server is in NoPiece of ChoosePiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - ChoosePieceState choosePieceState1 = (ChoosePieceState) turnStateMachine.getState(); - ChoosePieceStateMachine choosePieceStateMachine = choosePieceState1.getChoosePieceStateMachine(); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - } - - /** - * Tests the transition from SecondRoll state to ThirdRoll state. - * UC-ServerState-25 - */ - @Test - public void testSecondRollToThirdRoll() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in RollDice - turnStateMachine.gotoState(rollDiceState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - - //sends the RollDiceMachine in SecondRoll - rollDiceMachine.gotoState(secondRoll); - assertTrue(rollDiceMachine.getState() instanceof SecondRollState); - - //Todo player has no figures to move and had no 6 - - //tests if the server is in the ThirdRoll - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - assertTrue(rollDiceMachine.getState() instanceof ThirdRollState); - } - - /** - * Tests the transition from ThirdRoll state to RollDiceEndState. - * UC-ServerState-26 - */ - @Test - public void testThirdRollToRollDiceEndState() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in RollDice - turnStateMachine.gotoState(rollDiceState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - - //sends the RollDiceMachine in ThirdRoll - rollDiceMachine.gotoState(thirdRoll); - assertTrue(rollDiceMachine.getState() instanceof ThirdRollState); - - //Todo - - //tests if the server is in NoPiece of ChoosePiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - ChoosePieceState choosePieceState1 = (ChoosePieceState) turnStateMachine.getState(); - ChoosePieceStateMachine choosePieceStateMachine = choosePieceState1.getChoosePieceStateMachine(); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - } - - /** - * Tests the transition from ThirdRoll state to TurnEndState. - * UC-ServerState-27 - */ - @Test - public void testThirdRollToTurnEndState() { - //sends the server in Game-State - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the gameStateMachine in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the TurnStateMachine in RollDice - turnStateMachine.gotoState(rollDiceState); - assertTrue(turnStateMachine.getState() instanceof RollDiceState); - - //sends the RollDiceMachine in ThirdRoll - rollDiceMachine.gotoState(thirdRoll); - assertTrue(rollDiceMachine.getState() instanceof ThirdRollState); - - //Todo - } - - /** - * Tests the transition from NoPiece state to WaitingPiece state. - * UC-ServerState-28 - */ - @Test - public void testNoPieceToWaitingPiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in NoPiece - choosePieceStateMachine.gotoState(noPiece); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //TODO - - //tests if the server is in WaitingPiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - - } - - /** - * Tests the transition from NoPiece state to NoTurn state. - * UC-ServerState-29 - */ - @Test - public void testNoPieceToNoTurn() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in NoPiece - choosePieceStateMachine.gotoState(noPiece); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //TODO - - //tests if the server is in NoTurn - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof NoTurnState); - } - - /** - * Tests the transition from NoTurn state to TurnEndState. - * UC-ServerState-30 - */ - @Test - public void testNoTurnToTurnEndState() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in NoTurn - choosePieceStateMachine.gotoState(noTurnState); - assertTrue(choosePieceStateMachine.getState() instanceof NoTurnState); - - //TODO - } - - /** - * Tests that the system stays in the WaitingPiece state. - * UC-ServerState-31 - */ - @Test - public void testStayInWaitingPiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in WaitingPiece - choosePieceStateMachine.gotoState(waitingPiece); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - - //TODO - - //tests if the server is in WaitingPiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - } - - /** - * Tests the transition from WaitingPiece state to MovePiece state. - * UC-ServerState-32 - */ - @Test - public void testWaitingPieceToMovePiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in WaitingPiece - choosePieceStateMachine.gotoState(waitingPiece); - assertTrue(choosePieceStateMachine.getState() instanceof WaitingPieceState); - - //TODO - } - - /** - * Tests the transition from NoPiece state to SelectPiece state. - * UC-ServerState-33 - */ - @Test - public void testNoPieceToSelectPiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in NoPiece - choosePieceStateMachine.gotoState(noPiece); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //TODO - - //tests if the server is in SelectPiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - } - - /** - * Tests the transition from NoPiece state to StartPiece state. - * UC-ServerState-34 - */ - @Test - public void testNoPieceToStartPiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in NoPiece - choosePieceStateMachine.gotoState(noPiece); - assertTrue(choosePieceStateMachine.getState() instanceof NoPieceState); - - //TODO - - //tests if the server is in StartPiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - } - - /** - * Tests that the system stays in the SelectPiece state. - * UC-ServerState-35 - */ - @Test - public void testStayInSelectPiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in SelectPiece - choosePieceStateMachine.gotoState(selectPiece); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - - //TODO - - //tests if the server is in SelectPiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - } - - /** - * Tests the transition from SelectPiece state to MovePiece state. - * UC-ServerState-36 - */ - @Test - public void testSelectPieceToMovePiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in SelectPiece - choosePieceStateMachine.gotoState(selectPiece); - assertTrue(choosePieceStateMachine.getState() instanceof SelectPieceState); - - //TODO - } - - /** - * Tests that the system stays in the StartPiece state. - * UC-ServerState-37 - */ - @Test - public void testStayInStartPiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in StartPiece - choosePieceStateMachine.gotoState(startPiece); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - - //TODO - - //tests if the server is in StartPiece - assertTrue(serverAutomaton.getState() instanceof GameState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - } - - /** - * Tests the transition from StartPiece state to MovePiece state. - * UC-ServerState-38 - */ - @Test - public void testStartPieceToMovePiece() { - //sends the server in GameState - serverAutomaton.gotoState(gameState); - assertTrue(serverAutomaton.getState() instanceof GameState); - - //sends the server in Turn - gameStateMachine.gotoState(turnState); - assertTrue(gameStateMachine.getState() instanceof TurnState); - - //sends the server in ChoosePiece - turnStateMachine.gotoState(choosePieceState); - assertTrue(turnStateMachine.getState() instanceof ChoosePieceState); - - //sends the server in StartPiece - choosePieceStateMachine.gotoState(startPiece); - assertTrue(choosePieceStateMachine.getState() instanceof StartPieceState); - - //TODO - } -}