Compare commits
	
		
			6 Commits
		
	
	
		
			Version1.1
			...
			Version1.1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					ccf77f052f | ||
| 
						 | 
					0d3e93b681 | ||
| 
						 | 
					ab4c7159f3 | ||
| 
						 | 
					61ea4c3276 | ||
| 
						 | 
					e8506e607c | ||
| 
						 | 
					0c46477f01 | 
@@ -13,6 +13,7 @@
 | 
			
		||||
import java.awt.image.BufferedImage;
 | 
			
		||||
import java.io.File;
 | 
			
		||||
import java.io.IOException;
 | 
			
		||||
import java.util.Objects;
 | 
			
		||||
import java.util.concurrent.ExecutorService;
 | 
			
		||||
import java.util.concurrent.Executors;
 | 
			
		||||
import java.util.prefs.Preferences;
 | 
			
		||||
@@ -83,7 +84,7 @@ public class MdgaApp extends SimpleApplication {
 | 
			
		||||
    /**
 | 
			
		||||
     * The client game logic.
 | 
			
		||||
     */
 | 
			
		||||
    private final ClientGameLogic clientGameLogic;
 | 
			
		||||
    private ClientGameLogic clientGameLogic;
 | 
			
		||||
 | 
			
		||||
    private ExecutorService executor;
 | 
			
		||||
 | 
			
		||||
@@ -137,9 +138,11 @@ public static void main(String[] args) {
 | 
			
		||||
        app.setDisplayStatView(false);
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            settings.setIcons(new BufferedImage[]{
 | 
			
		||||
                    ImageIO.read(Thread.currentThread().getContextClassLoader().getResourceAsStream("Images/icon/icon128.png"))
 | 
			
		||||
            });
 | 
			
		||||
            if (!System.getProperty("os.name").toLowerCase().contains("mac")) {
 | 
			
		||||
                settings.setIcons(new BufferedImage[]{
 | 
			
		||||
                    ImageIO.read(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResourceAsStream("Images/icon/icon128.png")))
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
        } catch (IOException e) {
 | 
			
		||||
            System.out.println(e.getMessage());
 | 
			
		||||
        }
 | 
			
		||||
@@ -201,6 +204,7 @@ public void enter(MdgaState state) {
 | 
			
		||||
        switch (state) {
 | 
			
		||||
            case MAIN:
 | 
			
		||||
                view = mainView;
 | 
			
		||||
                clientGameLogic = new ClientGameLogic(networkConnection);
 | 
			
		||||
                break;
 | 
			
		||||
            case LOBBY:
 | 
			
		||||
                view = lobbyView;
 | 
			
		||||
 
 | 
			
		||||
@@ -103,11 +103,10 @@ public void shutdownServer() {
 | 
			
		||||
        // Wait for the server to shut down
 | 
			
		||||
        try {
 | 
			
		||||
            serverThread.join(); // Wait for the server thread to finish
 | 
			
		||||
            System.out.println("Server shutdown successfully.");
 | 
			
		||||
        } catch (InterruptedException e) {
 | 
			
		||||
            Thread.currentThread().interrupt();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        System.out.println("Server shutdown successfully.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -285,6 +285,7 @@ public void handleDisconnect(int id) {
 | 
			
		||||
    public void exit() {
 | 
			
		||||
        LOGGER.log(Level.INFO, "Requesting server shutdown"); //NON-NLS
 | 
			
		||||
        running = false;
 | 
			
		||||
        pendingMessages.add(new ReceivedMessage(new AnimationEndMessage(), -1));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -76,6 +76,15 @@ private Piece getPiece(UUID pieceId) {
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void clear(){
 | 
			
		||||
        game = new Game();
 | 
			
		||||
        notifications.clear();
 | 
			
		||||
        setState(dialogsState);
 | 
			
		||||
        isHost = false;
 | 
			
		||||
        ownPlayerID = 0;
 | 
			
		||||
        ownPlayerName = null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * This method returns the clientSender
 | 
			
		||||
     *
 | 
			
		||||
 
 | 
			
		||||
@@ -50,9 +50,9 @@ public void exit() {
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void selectLeave() {
 | 
			
		||||
        parent.setState(parent.getStartDialog());
 | 
			
		||||
        logic.addNotification(new StartDialogNotification());
 | 
			
		||||
        logic.send(new LeaveGameMessage());
 | 
			
		||||
        logic.addNotification(new StartDialogNotification());
 | 
			
		||||
        logic.setState(logic.getDialogs());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -175,4 +175,16 @@ public void received(StartGameMessage msg, int from) {
 | 
			
		||||
            this.logic.getServerSender().send(from, new IncorrectRequestMessage(5));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Removed the player after receiving a LeaveGameMessage message.
 | 
			
		||||
     *
 | 
			
		||||
     * @param msg  as the message which was sent by the player as a LeaveGameMessage object.
 | 
			
		||||
     * @param from as the client id of the player as an Integer.
 | 
			
		||||
     */
 | 
			
		||||
    @Override
 | 
			
		||||
    public void received(LeaveGameMessage msg, int from) {
 | 
			
		||||
        this.logic.getGame().removePlayer(from);
 | 
			
		||||
        this.logic.getServerSender().broadcast(new LobbyPlayerLeaveMessage(from));
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -61,13 +61,13 @@ public void received(AnimationEndMessage msg, int from) {
 | 
			
		||||
        if (finishedAnimations.size() == logic.getGame().getPlayers().size()) {
 | 
			
		||||
            if (logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).isFinished()) {
 | 
			
		||||
                logic.getGame().getPlayerRanking().put(logic.getGame().getPlayerRanking().size(), logic.getGame().getActivePlayer());
 | 
			
		||||
                logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new SpectatorMessage());
 | 
			
		||||
                setActivePlayer(logic.getGame().getActiveColor());
 | 
			
		||||
                if (logic.getGame().getPlayerRanking().size() == logic.getGame().getPlayers().size() - 1) {
 | 
			
		||||
                    logic.getGame().getPlayerRanking().put(logic.getGame().getPlayerRanking().size(), logic.getGame().getActivePlayer());
 | 
			
		||||
                    logic.getGame().getPlayerRanking().put(logic.getGame().getPlayerRanking().size(), logic.getGame().getPlayerByColor(logic.getGame().getActiveColor().next(logic.getGame())));
 | 
			
		||||
                    logic.setCurrentState(logic.getCeremonyState());
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new SpectatorMessage());
 | 
			
		||||
                setActivePlayer(logic.getGame().getActiveColor());
 | 
			
		||||
                this.turnAutomaton.getGameAutomaton().setCurrentState(this.turnAutomaton.getGameAutomaton().getTurnState());
 | 
			
		||||
            }
 | 
			
		||||
            else if (logic.getGame().getDiceEyes() == 6) {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,4 +9,8 @@ zusätzlichen Features.
 | 
			
		||||
In dieser Version gibt es ein besonderes Feature: Bonuskarten. Auf
 | 
			
		||||
bestimmten Feldern können die Spieler Bonuskarten ziehen, die ihnen
 | 
			
		||||
besondere Vorteile im Spiel verschaffen. Diese Bonuskarten können nur vor
 | 
			
		||||
dem Wurf des Würfels eingesetzt werden.
 | 
			
		||||
dem Wurf des Würfels eingesetzt werden.
 | 
			
		||||
 | 
			
		||||
**_INSTALLATION_**
 | 
			
		||||
Von der Release Seite für Windows die .exe Datei runterladen für Linux und Mac die .jar Datei,
 | 
			
		||||
zum spielen wird dann Java 20 oder höher benötigt.
 | 
			
		||||
		Reference in New Issue
	
	Block a user