diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/GameState.java b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/GameState.java index 0d524f2..d970034 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/GameState.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/gamelogic/GameState.java @@ -52,6 +52,7 @@ public class GameState { for (int i = 0; i < nrOfPlayers; i++) { if (i == train.getPositionOfGhost()) { LOGGER.info("OG position: " + train.getOrderOfTrain()[i]); + System.out.println("Og-Ghost Position: " + train.getOrderOfTrain()[i]); Ghost g = new Ghost(); g.setPosition(train.getOrderOfTrain()[i]); g.setGhost(); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyDisplayHandler.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyDisplayHandler.java index 8a8c674..36fc4e2 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyDisplayHandler.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyDisplayHandler.java @@ -49,7 +49,7 @@ public class LobbyDisplayHandler { if (searchForLobbyId(id) == null) { //the lobby is new and has not been saved yet addLobbyFromString(id, admin, isOpen, oneLobby); } else { // the lobby exists but might need to be updated - updateExistingLobby(id, isOpen, oneLobby); + updateExistingLobby(id, admin, isOpen, oneLobby); } } //System.out.println("lobby size before removal: " + lobbies.size()); @@ -77,9 +77,12 @@ public class LobbyDisplayHandler { //System.out.println("lobby size: " + lobbies.size()); } - private void updateExistingLobby(int id, boolean isOpen, String[] oneLobby) { + private void updateExistingLobby(int id, String admin,boolean isOpen, String[] oneLobby) { //System.out.println("update"); LobbyModel oldLobby = searchForLobbyId(id); + if (!oldLobby.getAdmin().equals(admin)) { + oldLobby.setAdmin(admin); + } oldLobby.setHasBeenVisited(true); oldLobby.setLobbyIsOpen(isOpen); oldLobby.removeAllMembers(); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyModel.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyModel.java index 7567a29..667be99 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyModel.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LobbyModel.java @@ -8,7 +8,7 @@ import java.util.HashSet; */ public class LobbyModel { private final int id; - private final String admin; + private String admin; private HashSet members = new HashSet(5); private boolean lobbyIsOpen = true; private boolean hasBeenVisited = false; @@ -42,6 +42,10 @@ public class LobbyModel { return admin; } + public void setAdmin(String admin) { + this.admin = admin; + } + public void setHasBeenVisited(boolean hasBeenVisited) { this.hasBeenVisited = hasBeenVisited; } diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java index 9603ee3..8739727 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneViewController.java @@ -47,50 +47,38 @@ public class LoungeSceneViewController implements Initializable { public static final Logger LOGGER = LogManager.getLogger(LoungeSceneViewController.class); public static final BudaLogConfig l = new BudaLogConfig(LOGGER); - - @FXML - private AnchorPane listLobbyAnchorPane; - @FXML - private AnchorPane buttonPane; - @FXML - private AnchorPane buttonLobbyPane; - @FXML - private AnchorPane backGroundAnimationPane; - - @FXML - private AnchorPane backGroundAnchorPane; @FXML private AnchorPane gameDisplayAnchorPane; @FXML + private AnchorPane listLobbyAnchorPane; + @FXML private TextFlow highScore; @FXML - private SplitPane chatSplitPane; - @FXML - public Button highScoreButton; - @FXML - private Button leaveLobbyButton; - @FXML - private Button lobbyPrintButton; - @FXML - private Button startGame; - @FXML private Button newGameButton; @FXML - private AnchorPane gameAnchorPane; + private ToolBar LobbyControlsToolBar; + @FXML + private BorderPane allLobbyElementsBorderPane; + @FXML + private AnchorPane ChatArea; @FXML private Button ChangeNameButton; @FXML + private Button leaveLobbyButton; + @FXML private Button LeaveServerButton; @FXML - private AnchorPane ChatArea; + private AnchorPane backGroundAnchorPane; + @FXML + private AnchorPane backGroundAnimationPane; @FXML private BorderPane LoungeSceneBorderPane; @FXML private ToolBar NTtBToolBar; - public static ClientModel client; private static ChatApp chatApp; + private ChatApp cApp; private static TrainAnimationDayController trainAnimationDayController; @@ -172,7 +160,7 @@ public class LoungeSceneViewController implements Initializable { public void run() { try { LOGGER.debug(" in GameView()" + chatApp); - buttonLobbyPane.setVisible(false); + allLobbyElementsBorderPane.setVisible(false); gameDisplayAnchorPane.getChildren().add(chatApp.game); } catch (Exception e) { LOGGER.debug("Not yet initialized"); @@ -190,7 +178,7 @@ public class LoungeSceneViewController implements Initializable { public void run() { try { trainAnimationDayController.showFullWagon(); - buttonLobbyPane.setVisible(true); + allLobbyElementsBorderPane.setVisible(true); gameDisplayAnchorPane.getChildren().clear(); } catch (Exception e) { LOGGER.debug("Not yet initialized"); diff --git a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/LobbyUpdater.java b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/LobbyUpdater.java index 8586eb6..32c198c 100644 --- a/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/LobbyUpdater.java +++ b/src/main/java/ch/unibas/dmi/dbis/cs108/multiplayer/server/LobbyUpdater.java @@ -1,6 +1,7 @@ package ch.unibas.dmi.dbis.cs108.multiplayer.server; import ch.unibas.dmi.dbis.cs108.BudaLogConfig; +import ch.unibas.dmi.dbis.cs108.highscore.OgGhostHighScore; import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.GuiParameters; import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.Protocol; import ch.unibas.dmi.dbis.cs108.multiplayer.helpers.ServerPinger; @@ -18,12 +19,19 @@ public class LobbyUpdater implements Runnable{ public void run() { while (true) { try { - Thread.sleep(3000); + Thread.sleep(1000); } catch (InterruptedException e) { LOGGER.warn(e.getMessage()); } String lobbiesAsString = Lobby.lobbiesToString(); for (ClientHandler client : ClientHandler.getConnectedClients()) { + String list = OgGhostHighScore.formatGhostHighscoreList(); + String[] listarray = list.split("\\R"); + StringBuilder forGui = new StringBuilder(); + for (String s : listarray) { + forGui.append(s).append("/n"); + } + client.sendMsgToClient(Protocol.printToGUI + "$" + GuiParameters.updateHighScore + "$" + forGui.toString()); if (!Lobby.lobbies.isEmpty()) { client.sendMsgToClient( Protocol.printToGUI + "$" + GuiParameters.updateLobbyString + "$" + lobbiesAsString); diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css index 65a90d2..b22c59f 100644 --- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css +++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/game/GameDay.css @@ -9,7 +9,7 @@ .button:pressed{ -fx-background-color: transparent; - -fx-border-color: transparent; + -fx-boarder-color: lightgrey; } #noiseButton{ @@ -27,6 +27,7 @@ } + .textField{ -fx-text-fill: white; -fx-background-color: transparent; diff --git a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml index 638fbd4..1a8f9b7 100644 --- a/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml +++ b/src/main/resources/ch/unibas/dmi/dbis/cs108/multiplayer/client/gui/lounge/LoungeSceneView.fxml @@ -15,8 +15,6 @@ -