diff options
author | Aidan Ross <aross02@fairport.org> | 2023-05-25 16:31:51 -0400 |
---|---|---|
committer | Aidan Ross <aross02@fairport.org> | 2023-05-25 16:31:51 -0400 |
commit | b3f8d14e1af6277914e4a7c1c81082fb95f62d85 (patch) | |
tree | 81d8a8007fa1ac6a246ba093971c1beaeef717bf | |
parent | cb9076941d76b4395d19d30076481bfeea35cacb (diff) | |
download | NPEhero-b3f8d14e1af6277914e4a7c1c81082fb95f62d85.tar.gz NPEhero-b3f8d14e1af6277914e4a7c1c81082fb95f62d85.tar.bz2 NPEhero-b3f8d14e1af6277914e4a7c1c81082fb95f62d85.zip |
the main.Level() class is now declared in levelcontroller with the name of the level being read in the assets folder, allowing for different songs in the list.
-rw-r--r-- | src/assets/levels/test level2/background.png | bin | 0 -> 1009759 bytes | |||
-rw-r--r-- | src/assets/levels/test level2/easy/leaderboard.txt | 0 | ||||
-rw-r--r-- | src/assets/levels/test level2/easy/notes.txt | 0 | ||||
-rw-r--r-- | src/assets/levels/test level2/hard/leaderboard.txt | 0 | ||||
-rw-r--r-- | src/assets/levels/test level2/hard/notes.txt | 0 | ||||
-rw-r--r-- | src/assets/levels/test level2/medium/leaderboard.txt | 0 | ||||
-rw-r--r-- | src/assets/levels/test level2/medium/notes.txt | 0 | ||||
-rw-r--r-- | src/assets/levels/test level2/metadata.json | 5 | ||||
-rw-r--r-- | src/assets/levels/test level2/preview.png | bin | 0 -> 9072089 bytes | |||
-rw-r--r-- | src/gameplay/Score.java | 1 | ||||
-rw-r--r-- | src/gameplay/SongPlayer.java | 15 | ||||
-rw-r--r-- | src/gui/LevelSurround.java | 2 | ||||
-rw-r--r-- | src/main/Level.java | 6 | ||||
-rw-r--r-- | src/main/LevelController.java | 4 |
14 files changed, 28 insertions, 5 deletions
diff --git a/src/assets/levels/test level2/background.png b/src/assets/levels/test level2/background.png Binary files differnew file mode 100644 index 0000000..0113819 --- /dev/null +++ b/src/assets/levels/test level2/background.png diff --git a/src/assets/levels/test level2/easy/leaderboard.txt b/src/assets/levels/test level2/easy/leaderboard.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/assets/levels/test level2/easy/leaderboard.txt diff --git a/src/assets/levels/test level2/easy/notes.txt b/src/assets/levels/test level2/easy/notes.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/assets/levels/test level2/easy/notes.txt diff --git a/src/assets/levels/test level2/hard/leaderboard.txt b/src/assets/levels/test level2/hard/leaderboard.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/assets/levels/test level2/hard/leaderboard.txt diff --git a/src/assets/levels/test level2/hard/notes.txt b/src/assets/levels/test level2/hard/notes.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/assets/levels/test level2/hard/notes.txt diff --git a/src/assets/levels/test level2/medium/leaderboard.txt b/src/assets/levels/test level2/medium/leaderboard.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/assets/levels/test level2/medium/leaderboard.txt diff --git a/src/assets/levels/test level2/medium/notes.txt b/src/assets/levels/test level2/medium/notes.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/assets/levels/test level2/medium/notes.txt diff --git a/src/assets/levels/test level2/metadata.json b/src/assets/levels/test level2/metadata.json new file mode 100644 index 0000000..4058afd --- /dev/null +++ b/src/assets/levels/test level2/metadata.json @@ -0,0 +1,5 @@ +{ + "title": "testSong2", + "artist": "fred shmeeran", + "desc": "testSong 2: electric boogaloo" +}
\ No newline at end of file diff --git a/src/assets/levels/test level2/preview.png b/src/assets/levels/test level2/preview.png Binary files differnew file mode 100644 index 0000000..002ad9e --- /dev/null +++ b/src/assets/levels/test level2/preview.png diff --git a/src/gameplay/Score.java b/src/gameplay/Score.java index 8bba48a..fa8ddfe 100644 --- a/src/gameplay/Score.java +++ b/src/gameplay/Score.java @@ -3,6 +3,7 @@ */ package gameplay; +import javafx.beans.property.IntegerProperty; public class Score { diff --git a/src/gameplay/SongPlayer.java b/src/gameplay/SongPlayer.java index e8d6c7b..496a4b0 100644 --- a/src/gameplay/SongPlayer.java +++ b/src/gameplay/SongPlayer.java @@ -13,6 +13,11 @@ import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.animation.*; +import javafx.beans.Observable; +import javafx.beans.property.IntegerProperty; +import javafx.beans.property.SimpleStringProperty; +import javafx.beans.property.StringProperty; +import javafx.beans.value.ObservableStringValue; import javafx.util.*; import main.Difficulty; import main.ScoreController; @@ -23,6 +28,7 @@ public class SongPlayer extends Pane { final int TIME = 1500; // delay for notes falling down the screen Score scoreCounter = new Score(); + StringProperty scoreString = new SimpleStringProperty(); Rectangle goalPerfect = new Rectangle(); HBox buttonBox = new HBox(); @@ -92,6 +98,7 @@ public class SongPlayer extends Pane { public SongPlayer(main.Level lvl, Difficulty d, Pane p, ScoreController cntrl) { loadSong(); + Rectangle field = new Rectangle(50, 50, new Color(0, 0, 0, 0.7)); field.heightProperty().bind(super.heightProperty()); @@ -278,4 +285,12 @@ public class SongPlayer extends Pane { } return -1; } + + // public ObservableStringValue getScoreString() { + // return + // } + + public int getCombo() { + return scoreCounter.getCombo(); + } }
\ No newline at end of file diff --git a/src/gui/LevelSurround.java b/src/gui/LevelSurround.java index f815982..a94f890 100644 --- a/src/gui/LevelSurround.java +++ b/src/gui/LevelSurround.java @@ -24,6 +24,7 @@ public class LevelSurround extends Pane public LevelSurround(Level level, Difficulty difficulty, Pane prev) { ScoreController sc = new ScoreController(); + SongPlayer game = new SongPlayer(level, difficulty, prev, sc); Button exit = new Button(); exit.setText("Back"); @@ -82,7 +83,6 @@ public class LevelSurround extends Pane comboTextBox.getChildren().addAll(comboLabel,comboDisplay); comboTextBox.setPadding(new Insets(10)); - SongPlayer game = new SongPlayer(level, difficulty, prev, sc); game.minWidthProperty().bind(super.prefHeightProperty().multiply(0.66)); game.minHeightProperty().bind(super.prefHeightProperty()); game.getStyleClass().add("box"); diff --git a/src/main/Level.java b/src/main/Level.java index eb8d60e..bf39af5 100644 --- a/src/main/Level.java +++ b/src/main/Level.java @@ -20,6 +20,7 @@ import org.json.simple.parser.ParseException; public class Level { public Image preview; //optional + private String levelFolderName; private String title; private String artist; public String desc; @@ -36,11 +37,12 @@ public class Level } //all below is required for table view - public Level() + public Level(String path) { + levelFolderName = path; JSONParser jsonParser = new JSONParser(); //parser to read the file - try(FileReader reader = new FileReader("src/assets/levels/test level/metadata.json")) + try(FileReader reader = new FileReader("src/assets/levels/" + levelFolderName+ "/metadata.json")) { Object obj = jsonParser.parse(reader); diff --git a/src/main/LevelController.java b/src/main/LevelController.java index 4ba34e1..4e1e8b7 100644 --- a/src/main/LevelController.java +++ b/src/main/LevelController.java @@ -30,7 +30,7 @@ public class LevelController Difficulty d5 = new Difficulty(); d5.title = "Impossible"; - Level testLevel = new Level(); + Level testLevel = new Level("test level"); //testLevel.setTitle("test level class"); testLevel.desc = "this level is being used to test the LevelController class"; //testLevel.setArtist("testArtist"); @@ -39,7 +39,7 @@ public class LevelController testLevel.diffList.add(d2); levelList.add(testLevel); - Level testLevel2 = new Level(); + Level testLevel2 = new Level("test level2"); //testLevel2.setTitle("another one"); testLevel2.desc = "it can say something else too"; //testLevel2.setAritst("testArtist2"); |