diff --git a/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java b/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java index fc3e846017294b79920980fc7b20c58639f1aeea..1eee6ec059858fd820dcd8359d4fbd2d448f4b7e 100644 --- a/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java +++ b/tetrecs/src/main/java/uk/ac/soton/comp1206/scene/MultiplayerScene.java @@ -156,41 +156,44 @@ public class MultiplayerScene extends ChallengeScene { leaderboard.getScores().bind(new SimpleListProperty<>(this.game.getLeaderboardList())); gameInfo.getChildren().add(0, leaderboard); - for (int i = 0; i < this.players.length; i++) { - LetterBoard playerBoard = new LetterBoard(gameWindow.getWidth() / 8, gameWindow.getWidth() / 8); - playerGrids.add(playerBoard); + if (players.length > 0) { + for (int i = 0; i < this.players.length; i++) { + LetterBoard playerBoard = new LetterBoard(gameWindow.getWidth() / 8, gameWindow.getWidth() / 8); + playerGrids.add(playerBoard); - Text playerName = new Text(players[i]); - playerName.getStyleClass().add("leaderboard"); - playerName.setFill(GameBlock.COLOURS[i+1]); + Text playerName = new Text(players[i]); + playerName.getStyleClass().add("leaderboard"); + playerName.setFill(GameBlock.COLOURS[i+1]); - VBox player = new VBox(); - player.setAlignment(Pos.CENTER); - player.setSpacing(5); - player.getChildren().addAll(playerBoard, playerName); + VBox player = new VBox(); + player.setAlignment(Pos.CENTER); + player.setSpacing(5); + player.getChildren().addAll(playerBoard, playerName); - playerBoards.add(player); - } + playerBoards.add(player); + } - boardDisplay = new HBox(); - boardDisplay.setAlignment(Pos.CENTER); - boardDisplay.setSpacing(10); + boardDisplay = new HBox(); + boardDisplay.setAlignment(Pos.CENTER); + boardDisplay.setSpacing(10); - Canvas prevArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20); - prevArrow.getGraphicsContext2D().setFill(Color.WHITE); - prevArrow.getGraphicsContext2D().fillPolygon(new double[]{prevArrow.getWidth() / 2, prevArrow.getWidth(), prevArrow.getWidth()}, new double[]{prevArrow.getHeight() / 2, 0, prevArrow.getHeight()}, 3); - prevArrow.setOnMouseClicked(this::displayPrevBoard); - boardDisplay.getChildren().add(prevArrow); + Canvas prevArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20); + prevArrow.getGraphicsContext2D().setFill(Color.WHITE); + prevArrow.getGraphicsContext2D().fillPolygon(new double[]{prevArrow.getWidth() / 2, prevArrow.getWidth(), prevArrow.getWidth()}, new double[]{prevArrow.getHeight() / 2, 0, prevArrow.getHeight()}, 3); + prevArrow.setOnMouseClicked(this::displayPrevBoard); + boardDisplay.getChildren().add(prevArrow); - boardDisplay.getChildren().add(playerBoards.get(0)); + boardDisplay.getChildren().add(playerBoards.get(0)); - Canvas nextArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20); - nextArrow.getGraphicsContext2D().setFill(Color.WHITE); - nextArrow.getGraphicsContext2D().fillPolygon(new double[]{0, nextArrow.getWidth() / 2, 0}, new double[]{0, nextArrow.getHeight() / 2, nextArrow.getHeight()}, 3); - nextArrow.setOnMouseClicked(this::displayNextBoard); - boardDisplay.getChildren().add(nextArrow); + Canvas nextArrow = new Canvas(this.gameWindow.getWidth() / 20, this.gameWindow.getHeight() / 20); + nextArrow.getGraphicsContext2D().setFill(Color.WHITE); + nextArrow.getGraphicsContext2D().fillPolygon(new double[]{0, nextArrow.getWidth() / 2, 0}, new double[]{0, nextArrow.getHeight() / 2, nextArrow.getHeight()}, 3); + nextArrow.setOnMouseClicked(this::displayNextBoard); + boardDisplay.getChildren().add(nextArrow); + + gameInfo.getChildren().add(boardDisplay); + } - gameInfo.getChildren().add(boardDisplay); VBox chatAndTimer = new VBox();