Skip to content
Snippets Groups Projects
Commit 46374e2d authored by Jackson's avatar Jackson :speech_balloon:
Browse files

Final of the final

parent 40137783
Branches
No related tags found
No related merge requests found
Showing
with 104 additions and 75 deletions
...@@ -84,14 +84,18 @@ public class ScoresList extends VBox { ...@@ -84,14 +84,18 @@ public class ScoresList extends VBox {
score.setSpacing(5); score.setSpacing(5);
//Gets the name of the player //Gets the name of the player
var name = new Text(list.get(i).getKey() + ":"); var name = new Text(list.get(i).getKey());
if(name.getText().contains("DEAD100")){
name.setText(name.getText().split("DEAD100")[0]);
name.setStrikethrough(true);
}
name.getStyleClass().add("scorer"); name.getStyleClass().add("scorer");
name.setTextAlignment(TextAlignment.CENTER); name.setTextAlignment(TextAlignment.CENTER);
name.setFill(COLOURS[i]); name.setFill(COLOURS[i]);
HBox.setHgrow(name, Priority.ALWAYS); HBox.setHgrow(name, Priority.ALWAYS);
//Gets the score of the player //Gets the score of the player
var scoreNum = new Text(list.get(i).getValue().toString()); var scoreNum = new Text(": " + list.get(i).getValue().toString());
scoreNum.getStyleClass().add("points"); scoreNum.getStyleClass().add("points");
scoreNum.setTextAlignment(TextAlignment.CENTER); scoreNum.setTextAlignment(TextAlignment.CENTER);
scoreNum.setFill(COLOURS[i]); scoreNum.setFill(COLOURS[i]);
......
...@@ -155,7 +155,6 @@ public class LobbyScene extends BaseScene { ...@@ -155,7 +155,6 @@ public class LobbyScene extends BaseScene {
if (event.getCode() == KeyCode.ESCAPE) { if (event.getCode() == KeyCode.ESCAPE) {
//Go back to menu //Go back to menu
Multimedia.stopM(); Multimedia.stopM();
communicator.send("QUIT");
//Cancel every running timer //Cancel every running timer
loadTimer.cancel(); loadTimer.cancel();
loadTimer.purge(); loadTimer.purge();
......
...@@ -17,6 +17,7 @@ import javafx.util.Duration; ...@@ -17,6 +17,7 @@ import javafx.util.Duration;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import uk.ac.soton.comp1206.Utility.Multimedia; import uk.ac.soton.comp1206.Utility.Multimedia;
import uk.ac.soton.comp1206.network.Communicator;
import uk.ac.soton.comp1206.ui.GamePane; import uk.ac.soton.comp1206.ui.GamePane;
import uk.ac.soton.comp1206.ui.GameWindow; import uk.ac.soton.comp1206.ui.GameWindow;
...@@ -27,6 +28,11 @@ public class MenuScene extends BaseScene { ...@@ -27,6 +28,11 @@ public class MenuScene extends BaseScene {
private static final Logger logger = LogManager.getLogger(MenuScene.class); private static final Logger logger = LogManager.getLogger(MenuScene.class);
/**
* The communicator to send/receive messages
*/
private final Communicator communicator;
/** /**
* Create a new menu scene * Create a new menu scene
...@@ -42,6 +48,7 @@ public class MenuScene extends BaseScene { ...@@ -42,6 +48,7 @@ public class MenuScene extends BaseScene {
logger.error("Null player, proceed."); logger.error("Null player, proceed.");
} }
Multimedia.playLoopedMusic("music/menu.mp3"); Multimedia.playLoopedMusic("music/menu.mp3");
communicator = gameWindow.getCommunicator();
} }
/** /**
...@@ -120,6 +127,7 @@ public class MenuScene extends BaseScene { ...@@ -120,6 +127,7 @@ public class MenuScene extends BaseScene {
//Exit when button clicked //Exit when button clicked
exitButton.setOnAction((event -> { exitButton.setOnAction((event -> {
communicator.send("QUIT");
Platform.exit(); Platform.exit();
System.exit(0); System.exit(0);
})); }));
......
...@@ -460,7 +460,6 @@ public class MultiplayerScene extends ChallengeScene { ...@@ -460,7 +460,6 @@ public class MultiplayerScene extends ChallengeScene {
game.switchOff(); game.switchOff();
//Tell server that player is done/left //Tell server that player is done/left
communicator.send("DIE"); communicator.send("DIE");
communicator.send("QUIT");
logger.info("Back to menu"); logger.info("Back to menu");
gameWindow.startMenu(); gameWindow.startMenu();
} }
...@@ -561,6 +560,10 @@ public class MultiplayerScene extends ChallengeScene { ...@@ -561,6 +560,10 @@ public class MultiplayerScene extends ChallengeScene {
var newInfo = info.split(":"); var newInfo = info.split(":");
var player = newInfo[0].replace("<", "").replace(">", ""); var player = newInfo[0].replace("<", "").replace(">", "");
var score = newInfo[1].replace("<", "").replace(">", ""); var score = newInfo[1].replace("<", "").replace(">", "");
var lives = newInfo[2].replace("<", "").replace(">", "");
if(lives.equals("DEAD")){
player = player + "DEAD100";
}
liveScores.add(new Pair<>(player, Integer.parseInt(score))); liveScores.add(new Pair<>(player, Integer.parseInt(score)));
} }
//Sort the array //Sort the array
......
...@@ -170,7 +170,7 @@ public class ScoresScene extends BaseScene { ...@@ -170,7 +170,7 @@ public class ScoresScene extends BaseScene {
logger.info("Building " + this.getClass().getName()); logger.info("Building " + this.getClass().getName());
//Communicator requests online scores //Communicator requests online scores
communicator.addListener(s -> Platform.runLater(() -> loadOnlineScores(s.trim()))); communicator.addListener(s -> Platform.runLater(() -> loadOnlineScores(s.trim())));
communicator.send("HISCORES"); communicator.send("HISCORES DEFAULT");
//Set the observable lists //Set the observable lists
observableScores = FXCollections.observableList(scoresList); observableScores = FXCollections.observableList(scoresList);
observableOnline = FXCollections.observableList(remoteScoreList); observableOnline = FXCollections.observableList(remoteScoreList);
......
...@@ -4,6 +4,7 @@ TesterB=10000 ...@@ -4,6 +4,7 @@ TesterB=10000
Name=10000 Name=10000
Meme=10000 Meme=10000
Duck=10000 Duck=10000
ThisIsAName=1630
ugor=1530 ugor=1530
namae=1030 namae=1030
Jack=1000 Jack=1000
sfx=0.225 sfx=0.625
music=0.2 music=0.8250000000000001
width=800 width=800
height=600 height=600
\ No newline at end of file
...@@ -4,6 +4,7 @@ TesterB=10000 ...@@ -4,6 +4,7 @@ TesterB=10000
Name=10000 Name=10000
Meme=10000 Meme=10000
Duck=10000 Duck=10000
ThisIsAName=1630
ugor=1530 ugor=1530
namae=1030 namae=1030
Jack=1000 Jack=1000
No preview for this file type
sfx=0.225 sfx=0.625
music=0.2 music=0.8250000000000001
width=800 width=800
height=600 height=600
\ No newline at end of file
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
<?xml version="1.0" encoding="UTF-8"?>
<javadocOptions>
<docletArtifacts>
<docletArtifact />
</docletArtifacts>
<tagletArtifacts>
<tagletArtifact />
</tagletArtifacts>
<javadocResourcesDirectory>src/main/javadoc</javadocResourcesDirectory>
</javadocOptions>
@options
@packages
@argfile
--class-path
'C:/Users/jiech/.m2/repository/org/openjfx/javafx-controls/17.0.2/javafx-controls-17.0.2.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-graphics/17.0.2/javafx-graphics-17.0.2.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-base/17.0.2/javafx-base-17.0.2.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-fxml/17.0.2/javafx-fxml-17.0.2.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-media/17.0.2/javafx-media-17.0.2.jar;C:/Users/jiech/.m2/repository/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1.jar'
--module-path
'C:/Users/jiech/.m2/repository/org/openjfx/javafx-controls/17.0.2/javafx-controls-17.0.2-win.jar;C:/Users/jiech/.m2/repository/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-fxml/17.0.2/javafx-fxml-17.0.2-win.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-graphics/17.0.2/javafx-graphics-17.0.2-win.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-media/17.0.2/javafx-media-17.0.2-win.jar;C:/Users/jiech/.m2/repository/com/neovisionaries/nv-websocket-client/2.14/nv-websocket-client-2.14.jar;C:/Users/jiech/.m2/repository/org/openjfx/javafx-base/17.0.2/javafx-base-17.0.2-win.jar;C:/Users/jiech/Documents/CS BSc/Semester 2/Programming 2/GIT/comp1206-cw/tetrecs/target/classes'
--patch-module
uk.ac.soton.comp1206='C:/Users/jiech/Documents/CS BSc/Semester 2/Programming 2/GIT/comp1206-cw/tetrecs/src/main/java'
-encoding
'UTF-8'
-protected
-source
'17'
--module-source-path
'C:/Users/jiech/Documents/CS BSc/Semester 2/Programming 2/GIT/comp1206-cw/tetrecs/target/site/apidocs/src'
-author
-bottom
'Copyright &#169; 2022. All rights reserved.'
-charset
'UTF-8'
-d
'C:/Users/jiech/Documents/CS BSc/Semester 2/Programming 2/GIT/comp1206-cw/tetrecs/target/site/apidocs'
-docencoding
'UTF-8'
-doctitle
'tetrecs 1.0-SNAPSHOT API'
-use
-version
-windowtitle
'tetrecs 1.0-SNAPSHOT API'
uk.ac.soton.comp1206
uk.ac.soton.comp1206.component
uk.ac.soton.comp1206.event
uk.ac.soton.comp1206.game
uk.ac.soton.comp1206.network
uk.ac.soton.comp1206.scene
uk.ac.soton.comp1206.ui
'C:/Users/jiech/Documents/CS BSc/Semester 2/Programming 2/GIT/comp1206-cw/tetrecs/src/main/java/module-info.java'
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\allclasses-index.html = 1650449875568
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\allpackages-index.html = 1650449875571
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\constant-values.html = 1650449875408
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\element-list = 1650449875329
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\help-doc.html = 1650449875616
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\index-all.html = 1650449875607
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\index.html = 1650449875610
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\jquery-ui.overrides.css = 1650449875655
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\member-search-index.js = 1650449875578
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\module-search-index.js = 1650449875573
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\overview-tree.html = 1650449875545
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\package-search-index.js = 1650449875575
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\script.js = 1650449875621
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\search.js = 1650449875626
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\stylesheet.css = 1650449875619
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\tag-search-index.js = 1650449875580
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\target\site\apidocs\type-search-index.js = 1650449875576
uk\ac\soton\comp1206\game\MultiplayerGame.class
uk\ac\soton\comp1206\event\RightClickedListener.class
uk\ac\soton\comp1206\game\GamePiece.class
uk\ac\soton\comp1206\ui\GamePane.class
uk\ac\soton\comp1206\App.class
uk\ac\soton\comp1206\game\Game$2.class
uk\ac\soton\comp1206\scene\MultiplayerScene.class
uk\ac\soton\comp1206\component\GameBlockCoordinate.class
uk\ac\soton\comp1206\Launcher.class
uk\ac\soton\comp1206\Utility\Multimedia.class
uk\ac\soton\comp1206\scene\MultiplayerScene$1.class
uk\ac\soton\comp1206\network\Communicator$1.class
uk\ac\soton\comp1206\ui\GameWindow.class
module-info.class
uk\ac\soton\comp1206\scene\BaseScene.class
uk\ac\soton\comp1206\event\CommunicationsListener.class
uk\ac\soton\comp1206\game\MultiplayerGame$2.class
uk\ac\soton\comp1206\scene\LobbyScene$2.class
uk\ac\soton\comp1206\component\PieceBoard.class
uk\ac\soton\comp1206\scene\StartScene.class
uk\ac\soton\comp1206\component\GameBoard.class
uk\ac\soton\comp1206\scene\OptionsScene.class
uk\ac\soton\comp1206\game\Game$1.class
uk\ac\soton\comp1206\scene\SettingsScene.class
uk\ac\soton\comp1206\component\GameBlock$AnimationTimer.class
uk\ac\soton\comp1206\scene\LobbyScene$1.class
uk\ac\soton\comp1206\scene\ChallengeScene.class
uk\ac\soton\comp1206\event\LineClearedListener.class
uk\ac\soton\comp1206\game\Game$3.class
uk\ac\soton\comp1206\game\Grid.class
uk\ac\soton\comp1206\event\BlockClickedListener.class
uk\ac\soton\comp1206\event\GameEndListener.class
uk\ac\soton\comp1206\scene\ScoresScene.class
uk\ac\soton\comp1206\network\Communicator.class
uk\ac\soton\comp1206\network\Communicator$2.class
uk\ac\soton\comp1206\component\ScoresList.class
uk\ac\soton\comp1206\scene\LobbyScene.class
uk\ac\soton\comp1206\scene\MenuScene.class
uk\ac\soton\comp1206\event\GameLoopListener.class
uk\ac\soton\comp1206\scene\InstructionScene.class
uk\ac\soton\comp1206\event\NextPieceListener.class
uk\ac\soton\comp1206\game\Game.class
uk\ac\soton\comp1206\component\GameBlock.class
uk\ac\soton\comp1206\component\LeaderBoard.class
uk\ac\soton\comp1206\game\MultiplayerGame$1.class
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\game\Game.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\game\MultiplayerGame.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\ui\GameWindow.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\component\ScoresList.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\LineClearedListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\game\Grid.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\module-info.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\CommunicationsListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\OptionsScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\network\Communicator.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\RightClickedListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\InstructionScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\NextPieceListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\ChallengeScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\BaseScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\component\LeaderBoard.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\App.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\MenuScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\component\PieceBoard.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\Launcher.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\component\GameBlockCoordinate.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\component\GameBlock.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\game\GamePiece.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\BlockClickedListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\SettingsScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\GameLoopListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\MultiplayerScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\ScoresScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\LobbyScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\component\GameBoard.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\event\GameEndListener.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\scene\StartScene.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\ui\GamePane.java
C:\Users\jiech\Documents\CS BSc\Semester 2\Programming 2\GIT\comp1206-cw\tetrecs\src\main\java\uk\ac\soton\comp1206\Utility\Multimedia.java
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment