Compare commits
	
		
			10 Commits
		
	
	
		
			Version1.1
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					b7a3790f81 | ||
| 
						 | 
					56112f01bb | ||
| 
						 | 
					75ce695029 | ||
| 
						 | 
					9af54051da | ||
| 
						 | 
					ccf77f052f | ||
| 
						 | 
					0d3e93b681 | ||
| 
						 | 
					ab4c7159f3 | ||
| 
						 | 
					61ea4c3276 | ||
| 
						 | 
					e8506e607c | ||
| 
						 | 
					0c46477f01 | 
							
								
								
									
										
											BIN
										
									
								
								Dokumente/Abschlusspräsentation_v1.0.2.pdf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								Dokumente/Abschlusspräsentation_v1.0.2.pdf
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -13,6 +13,7 @@
 | 
				
			|||||||
import java.awt.image.BufferedImage;
 | 
					import java.awt.image.BufferedImage;
 | 
				
			||||||
import java.io.File;
 | 
					import java.io.File;
 | 
				
			||||||
import java.io.IOException;
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					import java.util.Objects;
 | 
				
			||||||
import java.util.concurrent.ExecutorService;
 | 
					import java.util.concurrent.ExecutorService;
 | 
				
			||||||
import java.util.concurrent.Executors;
 | 
					import java.util.concurrent.Executors;
 | 
				
			||||||
import java.util.prefs.Preferences;
 | 
					import java.util.prefs.Preferences;
 | 
				
			||||||
@@ -83,7 +84,7 @@ public class MdgaApp extends SimpleApplication {
 | 
				
			|||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * The client game logic.
 | 
					     * The client game logic.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private final ClientGameLogic clientGameLogic;
 | 
					    private ClientGameLogic clientGameLogic;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ExecutorService executor;
 | 
					    private ExecutorService executor;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -137,9 +138,11 @@ public static void main(String[] args) {
 | 
				
			|||||||
        app.setDisplayStatView(false);
 | 
					        app.setDisplayStatView(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
 | 
					            if (!System.getProperty("os.name").toLowerCase().contains("mac")) {
 | 
				
			||||||
                settings.setIcons(new BufferedImage[]{
 | 
					                settings.setIcons(new BufferedImage[]{
 | 
				
			||||||
                    ImageIO.read(Thread.currentThread().getContextClassLoader().getResourceAsStream("Images/icon/icon128.png"))
 | 
					                    ImageIO.read(Objects.requireNonNull(Thread.currentThread().getContextClassLoader().getResourceAsStream("Images/icon/icon128.png")))
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
        } catch (IOException e) {
 | 
					        } catch (IOException e) {
 | 
				
			||||||
            System.out.println(e.getMessage());
 | 
					            System.out.println(e.getMessage());
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -201,6 +204,7 @@ public void enter(MdgaState state) {
 | 
				
			|||||||
        switch (state) {
 | 
					        switch (state) {
 | 
				
			||||||
            case MAIN:
 | 
					            case MAIN:
 | 
				
			||||||
                view = mainView;
 | 
					                view = mainView;
 | 
				
			||||||
 | 
					                clientGameLogic = new ClientGameLogic(networkConnection);
 | 
				
			||||||
                break;
 | 
					                break;
 | 
				
			||||||
            case LOBBY:
 | 
					            case LOBBY:
 | 
				
			||||||
                view = lobbyView;
 | 
					                view = lobbyView;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -103,11 +103,10 @@ public void shutdownServer() {
 | 
				
			|||||||
        // Wait for the server to shut down
 | 
					        // Wait for the server to shut down
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
            serverThread.join(); // Wait for the server thread to finish
 | 
					            serverThread.join(); // Wait for the server thread to finish
 | 
				
			||||||
 | 
					            System.out.println("Server shutdown successfully.");
 | 
				
			||||||
        } catch (InterruptedException e) {
 | 
					        } catch (InterruptedException e) {
 | 
				
			||||||
            Thread.currentThread().interrupt();
 | 
					            Thread.currentThread().interrupt();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        System.out.println("Server shutdown successfully.");
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -285,6 +285,7 @@ public void handleDisconnect(int id) {
 | 
				
			|||||||
    public void exit() {
 | 
					    public void exit() {
 | 
				
			||||||
        LOGGER.log(Level.INFO, "Requesting server shutdown"); //NON-NLS
 | 
					        LOGGER.log(Level.INFO, "Requesting server shutdown"); //NON-NLS
 | 
				
			||||||
        running = false;
 | 
					        running = false;
 | 
				
			||||||
 | 
					        pendingMessages.add(new ReceivedMessage(new AnimationEndMessage(), -1));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -76,6 +76,15 @@ private Piece getPiece(UUID pieceId) {
 | 
				
			|||||||
        return null;
 | 
					        return null;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void clear(){
 | 
				
			||||||
 | 
					        game = new Game();
 | 
				
			||||||
 | 
					        notifications.clear();
 | 
				
			||||||
 | 
					        setState(dialogsState);
 | 
				
			||||||
 | 
					        isHost = false;
 | 
				
			||||||
 | 
					        ownPlayerID = 0;
 | 
				
			||||||
 | 
					        ownPlayerName = null;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * This method returns the clientSender
 | 
					     * This method returns the clientSender
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,9 +50,9 @@ public void exit() {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
    public void selectLeave() {
 | 
					    public void selectLeave() {
 | 
				
			||||||
        parent.setState(parent.getStartDialog());
 | 
					 | 
				
			||||||
        logic.addNotification(new StartDialogNotification());
 | 
					 | 
				
			||||||
        logic.send(new LeaveGameMessage());
 | 
					        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));
 | 
					            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 (finishedAnimations.size() == logic.getGame().getPlayers().size()) {
 | 
				
			||||||
            if (logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).isFinished()) {
 | 
					            if (logic.getGame().getPlayerByColor(logic.getGame().getActiveColor()).isFinished()) {
 | 
				
			||||||
                logic.getGame().getPlayerRanking().put(logic.getGame().getPlayerRanking().size(), logic.getGame().getActivePlayer());
 | 
					                logic.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) {
 | 
					                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());
 | 
					                    logic.setCurrentState(logic.getCeremonyState());
 | 
				
			||||||
                    return;
 | 
					                    return;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                logic.getServerSender().send(logic.getGame().getPlayerIdByColor(logic.getGame().getActiveColor()), new SpectatorMessage());
 | 
				
			||||||
 | 
					                setActivePlayer(logic.getGame().getActiveColor());
 | 
				
			||||||
                this.turnAutomaton.getGameAutomaton().setCurrentState(this.turnAutomaton.getGameAutomaton().getTurnState());
 | 
					                this.turnAutomaton.getGameAutomaton().setCurrentState(this.turnAutomaton.getGameAutomaton().getTurnState());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (logic.getGame().getDiceEyes() == 6) {
 | 
					            else if (logic.getGame().getDiceEyes() == 6) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,3 +10,9 @@ In dieser Version gibt es ein besonderes Feature: Bonuskarten. Auf
 | 
				
			|||||||
bestimmten Feldern können die Spieler Bonuskarten ziehen, die ihnen
 | 
					bestimmten Feldern können die Spieler Bonuskarten ziehen, die ihnen
 | 
				
			||||||
besondere Vorteile im Spiel verschaffen. Diese Bonuskarten können nur vor
 | 
					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](https://athene2.informatik.unibw-muenchen.de/progproj/gruppen-ht24/Gruppe-01/-/releases) 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.
 | 
				
			||||||
 | 
					Falls die Dateien nicht mehr zum Dowload bereit stehen, wenden Sie sich bitte an Fleischer Hanno (hanno.fleischer@unibw.de).
 | 
				
			||||||
		Reference in New Issue
	
	Block a user