Merge branch 'refs/heads/development' into dev/client_beck

# Conflicts:
#	Projekte/mdga/model/src/main/java/pp.mdga/server/DetermineStartPlayer.java
#	Projekte/mdga/model/src/main/java/pp.mdga/server/Lobby.java
#	Projekte/mdga/model/src/main/java/pp.mdga/server/Turn.java
#	Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableMoveNotification.java
#	Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectablePiecesNotification.java
#	Projekte/mdga/model/src/main/java/pp/mdga/notification/SelectableSwapNotification.java
This commit is contained in:
Felix Koppe
2024-11-30 12:44:04 +01:00
299 changed files with 8824 additions and 2887 deletions

View File

@@ -1,9 +1,5 @@
package pp.mdga.client;
import pp.mdga.notification.Notification;
import pp.mdga.notification.PieceInGameNotification;
import pp.mdga.notification.PlayerInGameNotification;
public enum MdgaState {
NONE,
MAIN,

View File

@@ -1,18 +1,12 @@
package pp.mdga.client.board.Outline;
import com.jme3.asset.AssetManager;
import com.jme3.material.Material;
import com.jme3.material.RenderState;
import com.jme3.material.RenderState.BlendMode;
import com.jme3.math.ColorRGBA;
import com.jme3.post.Filter;
import com.jme3.post.FilterPostProcessor;
import com.jme3.renderer.Camera;
import com.jme3.renderer.RenderManager;
import com.jme3.renderer.ViewPort;
import com.jme3.scene.Node;
import com.jme3.scene.Spatial;
import pp.mdga.game.Color;
public class SelectObjectOutliner {

View File

@@ -0,0 +1,235 @@
package pp.mdga.client.server;
import com.jme3.network.*;
import com.jme3.network.serializing.Serializer;
import pp.mdga.game.Game;
import pp.mdga.game.Player;
import pp.mdga.message.client.*;
import pp.mdga.message.server.*;
import pp.mdga.server.ServerGameLogic;
import pp.mdga.server.ServerSender;
import java.io.FileInputStream;
import java.io.IOException;
import java.lang.System.Logger;
import java.lang.System.Logger.Level;
import java.util.Map;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.logging.LogManager;
/**
* Server implementing the visitor pattern as MessageReceiver for ClientMessages
*/
public class MdgaServer implements MessageListener<HostedConnection>, ConnectionListener, ServerSender {
private static final Logger LOGGER = System.getLogger(MdgaServer.class.getName());
private Server myServer;
private final ServerGameLogic logic;
private final BlockingQueue<ReceivedMessage> pendingMessages = new LinkedBlockingQueue<>();
static {
// Configure logging
LogManager manager = LogManager.getLogManager();
try {
manager.readConfiguration(new FileInputStream("logging.properties"));
LOGGER.log(Level.INFO, "Successfully read logging properties"); //NON-NLS
} catch (IOException e) {
LOGGER.log(Level.INFO, e.getMessage());
}
}
/**
* Starts the Battleships server.
*/
public static void main(String[] args) {
new MdgaServer().run();
}
/**
* Creates a new MdgaServer.
*/
public MdgaServer() {
LOGGER.log(Level.INFO, "Creating MdgaServer"); //NON-NLS
logic = new ServerGameLogic(this, new Game());
}
public void run() {
startServer();
this.connectionAdded(myServer, myServer.getConnection(0));
while (true)
processNextMessage();
}
private void startServer() {
try {
LOGGER.log(Level.INFO, "Starting server..."); //NON-NLS
myServer = Network.createServer(1234);
initializeSerializables();
myServer.start();
registerListeners();
LOGGER.log(Level.INFO, "Server started: {0}", myServer.isRunning()); //NON-NLS
} catch (IOException e) {
LOGGER.log(Level.ERROR, "Couldn't start server: {0}", e.getMessage()); //NON-NLS
exit(1);
}
}
private void processNextMessage() {
try {
pendingMessages.take().process(logic);
} catch (InterruptedException ex) {
LOGGER.log(Level.INFO, "Interrupted while waiting for messages"); //NON-NLS
Thread.currentThread().interrupt();
}
}
private void initializeSerializables() {
Serializer.registerClass(AnimationEnd.class);
Serializer.registerClass(ClientStartGame.class);
Serializer.registerClass(DeselectTSK.class);
Serializer.registerClass(ForceContinueGame.class);
Serializer.registerClass(StartGame.class);
Serializer.registerClass(JoinServer.class);
Serializer.registerClass(LeaveGame.class);
Serializer.registerClass(LobbyNotReady.class);
Serializer.registerClass(LobbyReady.class);
Serializer.registerClass(NoPowerCard.class);
Serializer.registerClass(RequestBriefing.class);
Serializer.registerClass(RequestDie.class);
Serializer.registerClass(RequestMove.class);
Serializer.registerClass(RequestPlayCard.class);
Serializer.registerClass(SelectCard.class);
Serializer.registerClass(SelectedPieces.class);
Serializer.registerClass(SelectTSK.class);
Serializer.registerClass(ActivePlayer.class);
Serializer.registerClass(AnyPiece.class);
Serializer.registerClass(Briefing.class);
Serializer.registerClass(CeremonyMessage.class);
Serializer.registerClass(Die.class);
Serializer.registerClass(DiceAgain.class);
Serializer.registerClass(DiceNow.class);
Serializer.registerClass(EndOfTurn.class);
Serializer.registerClass(LobbyAccept.class);
Serializer.registerClass(LobbyDeny.class);
Serializer.registerClass(LobbyPlayerJoin.class);
Serializer.registerClass(LobbyPlayerLeave.class);
Serializer.registerClass(MoveMessage.class);
Serializer.registerClass(NoTurn.class);
Serializer.registerClass(PauseGame.class);
Serializer.registerClass(PlayCard.class);
Serializer.registerClass(PossibleCard.class);
Serializer.registerClass(PossiblePiece.class);
Serializer.registerClass(RankingResponse.class);
Serializer.registerClass(RankingRollAgain.class);
Serializer.registerClass(ReconnectBriefing.class);
Serializer.registerClass(ResumeGame.class);
Serializer.registerClass(ServerStartGame.class);
Serializer.registerClass(StartPiece.class);
Serializer.registerClass(UpdateReady.class);
Serializer.registerClass(UpdateTSK.class);
Serializer.registerClass(WaitPiece.class);
}
private void registerListeners() {
myServer.addMessageListener(this, AnimationEnd.class);
myServer.addMessageListener(this, ClientStartGame.class);
myServer.addMessageListener(this, DeselectTSK.class);
myServer.addMessageListener(this, ForceContinueGame.class);
myServer.addMessageListener(this, StartGame.class);
myServer.addMessageListener(this, JoinServer.class);
myServer.addMessageListener(this, LeaveGame.class);
myServer.addMessageListener(this, LobbyNotReady.class);
myServer.addMessageListener(this, LobbyReady.class);
myServer.addMessageListener(this, NoPowerCard.class);
myServer.addMessageListener(this, RequestBriefing.class);
myServer.addMessageListener(this, RequestDie.class);
myServer.addMessageListener(this, RequestMove.class);
myServer.addMessageListener(this, RequestPlayCard.class);
myServer.addMessageListener(this, SelectCard.class);
myServer.addMessageListener(this, SelectedPieces.class);
myServer.addMessageListener(this, SelectTSK.class);
myServer.addConnectionListener(this);
}
public void messageReceived(HostedConnection source, ClientMessage message) {
LOGGER.log(Level.INFO, "message received from {0}: {1}", source.getId(), message); //NON-NLS
pendingMessages.add(new ReceivedMessage(message, source.getId()));
}
@Override
public void connectionAdded(Server server, HostedConnection hostedConnection) {
LOGGER.log(Level.INFO, "new connection {0}", hostedConnection); //NON-NLS
// ToDo: Synchronize data between server and client.
logic.getGame().addPlayer(hostedConnection.getId(), new Player());
}
@Override
public void connectionRemoved(Server server, HostedConnection hostedConnection) {
LOGGER.log(Level.INFO, "connection closed: {0}", hostedConnection); //NON-NLS
final Player player = logic.getGame().getPlayerById(hostedConnection.getId());
if (player == null)
LOGGER.log(Level.INFO, "closed connection does not belong to an active player"); //NON-NLS
else { //NON-NLS
LOGGER.log(Level.INFO, "closed connection belongs to {0}", player); //NON-NLS
// exit(0);
this.handleDisconnect(hostedConnection.getId());
}
}
/**
* This method will be used to handle unintentional disconnections from players.
*
* @param id as the id of the disconnected player.
*/
public void handleDisconnect(int id) {
this.logic.received(new Disconnected(), id);
}
public void exit(int exitValue) { //NON-NLS
LOGGER.log(Level.INFO, "close request"); //NON-NLS
if (myServer != null)
for (HostedConnection client : myServer.getConnections()) //NON-NLS
if (client != null) client.close("Game over"); //NON-NLS
System.exit(exitValue);
}
/**
* Send the specified message to the specified connection.
*
* @param id the connection id
* @param message the message
*/
public void send(int id, ServerMessage message) {
if (myServer == null || !myServer.isRunning()) {
LOGGER.log(Level.ERROR, "no server running when trying to send {0}", message); //NON-NLS
return;
}
final HostedConnection connection = myServer.getConnection(id);
if (connection != null)
connection.send(message);
else
LOGGER.log(Level.ERROR, "there is no connection with id={0}", id); //NON-NLS
}
/**
* 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.
*/
public void broadcast(ServerMessage message) {
for (Map.Entry<Integer, Player> entry: this.logic.getGame().getPlayers().entrySet()) {
this.send(entry.getKey(), message);
}
}
//TODO:
@Override
public void messageReceived(HostedConnection source, Message m) {
}
}

View File

@@ -0,0 +1,10 @@
package pp.mdga.client.server;
import pp.mdga.message.client.ClientInterpreter;
import pp.mdga.message.client.ClientMessage;
public record ReceivedMessage(ClientMessage msg, int from) {
void process(ClientInterpreter interpreter) {
msg.accept(interpreter, from);
}
}

View File

@@ -17,11 +17,6 @@
import pp.mdga.client.MdgaApp;
import pp.mdga.client.MdgaState;
import pp.mdga.client.gui.GuiHandler;
import pp.mdga.game.Color;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class GameView extends MdgaView {
private BoardHandler boardHandler;

View File

@@ -5,7 +5,6 @@
import pp.mdga.client.dialog.SingleButtonLeftDialog;
import pp.mdga.client.dialog.SingleButtonRightDialog;
import pp.mdga.client.MdgaApp;
import pp.mdga.client.MdgaState;
import pp.mdga.game.Color;
import java.util.ArrayList;

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Animation extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class AudioSettings extends ClientState {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class Ceremony extends ClientState {
private final CeremonyStateMachine ceremonyStateMachine = new CeremonyStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class CeremonyStateMachine extends ClientStateMachine {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class ChoosePiece extends ClientState {
private final ChoosePieceStateMachine choosePieceStateMachine = new ChoosePieceStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class ChoosePieceStateMachine extends ClientStateMachine{
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class ChoosePowerCard extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class ClientAutomaton extends ClientStateMachine {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class ClientGameLogic {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public abstract class ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public abstract class ClientStateMachine extends ClientState {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class DetermineStartPlayer extends ClientState {
private final DetermineStartPlayerStateMachine determineStartPlayerStateMachine = new DetermineStartPlayerStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class DetermineStartPlayerStateMachine extends ClientStateMachine{
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class Dialogs extends ClientState {
private final DialogsStateMachine dialogsStateMachine = new DialogsStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class DialogsStateMachine extends ClientStateMachine {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class GameState extends ClientState {
private final GameStateMachine gameStateMachine = new GameStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class GameStateMachine extends ClientStateMachine {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Interrupt extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Lobby extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class MainSettings extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class MovePiece extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class NetworkDialog extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class NoPiece extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class PlayPowerCard extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Podium extends ClientState {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class PowerCard extends ClientState {
private final PowerCardStateMachine powerCardStateMachine = new PowerCardStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class PowerCardStateMachine extends ClientStateMachine {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class RollDice extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class RollRankingDice extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class SelectPiece extends ClientState {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class Settings extends ClientState {
private final SettingsStateMachine settingsStateMachine = new SettingsStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class SettingsStateMachine extends ClientStateMachine {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Shield extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Spectator extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class StartDialog extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class StartPiece extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Statistics extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Swap extends ClientState {
}

View File

@@ -1,5 +0,0 @@
package pp.mdga.client;
public class Turn extends ClientState {
private final TurnStateMachine turnStateMachine = new TurnStateMachine();
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class TurnStateMachine extends ClientStateMachine {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class VideoSettings extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class WaitRanking extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class Waiting extends ClientState {
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.client;
public class WaitingPiece extends ClientState {
}

View File

@@ -1,9 +0,0 @@
package pp.mdga.game;
public enum Color {
ARMY,
NAVY,
CYBER,
AIRFORCE
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,37 +0,0 @@
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);
}

View File

@@ -1,11 +0,0 @@
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);
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,17 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,13 +0,0 @@
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);
}
}

View File

@@ -1,32 +0,0 @@
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);
}
}

View File

@@ -1,32 +0,0 @@
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);
}
}

View File

@@ -1,26 +0,0 @@
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);
}
}

View File

@@ -1,26 +0,0 @@
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);
}
}

View File

@@ -1,32 +0,0 @@
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);
}
}

View File

@@ -1,32 +0,0 @@
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 "";
}
}

View File

@@ -1,38 +0,0 @@
package pp.mdga.message.server;
import java.util.ArrayList;
public class AnyPiece extends ServerMessage {
private ArrayList<String> 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<String> getPiece() {
return piece;
}
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class Briefing extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class Ceremony extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,59 +0,0 @@
package pp.mdga.message.server;
import java.util.ArrayList;
public class Dice extends ServerMessage {
private final int diceEye;
private final ArrayList<String> moveablePieces;
/** Constructor for Dice
* @param diceEye the eye of the dice
* @param moveablePieces the pieces that can be moved
*/
public Dice(int diceEye, ArrayList<String> 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<String> 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<String> getMoveablePieces() {
return moveablePieces;
}
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class DiceAgain extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class DiceNow extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class EndOfTurn extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class LobbyAccept extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class LobbyDeny extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,24 +0,0 @@
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 "";
}
}

View File

@@ -1,31 +0,0 @@
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 "";
}
}

View File

@@ -1,33 +0,0 @@
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 "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class NoTurn extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class PauseGame extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,41 +0,0 @@
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 "";
}
}

View File

@@ -1,40 +0,0 @@
package pp.mdga.message.server;
import pp.mdga.game.BonusCard;
import java.util.ArrayList;
public class PossibleCard extends ServerMessage {
private ArrayList<BonusCard> 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<BonusCard> getPossibleCards() {
return possibleCards;
}
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,47 +0,0 @@
package pp.mdga.message.server;
import java.util.ArrayList;
public class PossiblePiece extends ServerMessage {
private final ArrayList<String> possibleOwnPieces;
private final ArrayList<String> 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<String> getPossiblePieces() {
return possibleOwnPieces;
}
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class RankingResponce extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class RankingRollAgain extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,25 +0,0 @@
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 "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class ResumeGame extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,4 +0,0 @@
package pp.mdga.message.server;
public interface ServerInterpreter {
}

View File

@@ -1,13 +0,0 @@
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();
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class ServerStartGame extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,24 +0,0 @@
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 "";
}
}

View File

@@ -1,31 +0,0 @@
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 "";
}
}

View File

@@ -1,31 +0,0 @@
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 "";
}
}

View File

@@ -1,13 +0,0 @@
package pp.mdga.message.server;
public class WaitPiece extends ServerMessage {
@Override
public void accept(ServerInterpreter interpreter) {
}
@Override
public String getInfoTextKey() {
return "";
}
}

View File

@@ -1,16 +0,0 @@
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));
}
}

Some files were not shown because too many files have changed in this diff Show More