diff --git a/src/main/java/uk/mgrove/ac/soton/comp1206/game/Game.java b/src/main/java/uk/mgrove/ac/soton/comp1206/game/Game.java index bf02f6c..0204f2d 100644 --- a/src/main/java/uk/mgrove/ac/soton/comp1206/game/Game.java +++ b/src/main/java/uk/mgrove/ac/soton/comp1206/game/Game.java @@ -133,6 +133,8 @@ public class Game { * Handle additional processing after piece has been played - clear lines of blocks */ public void afterPiece() { + logger.info("Checking for columns and rows that need clearing"); + Set blocksToRemove = new HashSet<>(); int linesToRemove = 0; @@ -186,12 +188,16 @@ public class Game { * @param blocks number of blocks cleared */ private void score(int lines, int blocks) { + logger.info("Updating score"); + var addScore = lines * blocks * 10 * multiplier.get(); score.set(score.get() + addScore); + logger.info("Updating multiplier"); if (lines > 0) multiplier.set(multiplier.get() + 1); else multiplier.set(1); + logger.info("Setting the level based on the new score"); // set level level.set((int) Math.floor((double) score.get() / 1000)); } diff --git a/src/main/java/uk/mgrove/ac/soton/comp1206/ui/StatsMenu.java b/src/main/java/uk/mgrove/ac/soton/comp1206/ui/StatsMenu.java index 8b59516..fe92777 100644 --- a/src/main/java/uk/mgrove/ac/soton/comp1206/ui/StatsMenu.java +++ b/src/main/java/uk/mgrove/ac/soton/comp1206/ui/StatsMenu.java @@ -3,12 +3,20 @@ package uk.mgrove.ac.soton.comp1206.ui; import javafx.beans.property.IntegerProperty; import javafx.scene.layout.VBox; import javafx.scene.text.Text; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import uk.mgrove.ac.soton.comp1206.game.Game; /** * Stats menu class to show basic stats about game status */ public class StatsMenu extends VBox { + /** + * Logger + */ + private static final Logger logger = LogManager.getLogger(Game.class); + /** * Player's current score */ @@ -34,6 +42,8 @@ public class StatsMenu extends VBox { * @param multiplier multiplier property */ public StatsMenu(IntegerProperty score, IntegerProperty level, IntegerProperty lives, IntegerProperty multiplier) { + logger.info("Initialising new stats menu with score {}, level {}, lives {}, and multiplier {}", score.get(), level.get(), lives.get(), multiplier.get()); + this.score.textProperty().bind(score.asString()); this.level.textProperty().bind(level.asString()); this.lives.textProperty().bind(lives.asString()); diff --git a/src/main/java/uk/mgrove/ac/soton/comp1206/util/Multimedia.java b/src/main/java/uk/mgrove/ac/soton/comp1206/util/Multimedia.java index abbd990..b4cfe04 100644 --- a/src/main/java/uk/mgrove/ac/soton/comp1206/util/Multimedia.java +++ b/src/main/java/uk/mgrove/ac/soton/comp1206/util/Multimedia.java @@ -2,9 +2,17 @@ package uk.mgrove.ac.soton.comp1206.util; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import uk.mgrove.ac.soton.comp1206.game.Game; public class Multimedia { + /** + * Logger + */ + private static final Logger logger = LogManager.getLogger(Game.class); + /** * Media player for game music */ @@ -19,6 +27,8 @@ public class Multimedia { * @param filePath file path of audio file */ public static void playAudio(String filePath) { + logger.info("Playing sound effect from file: {}", filePath); + if (audioPlayer != null) audioPlayer.stop(); var media = new Media(Multimedia.class.getResource("/" + filePath).toExternalForm()); audioPlayer = new MediaPlayer(media); @@ -30,6 +40,8 @@ public class Multimedia { * @param filePath file path of audio file */ public static void playMusic(String filePath) { + logger.info("Playing music from file: {}", filePath); + if (musicPlayer != null) musicPlayer.stop(); var media = new Media(Multimedia.class.getResource("/" + filePath).toExternalForm()); musicPlayer = new MediaPlayer(media);