aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan Ross <aross02@fairport.org>2023-05-25 16:31:51 -0400
committerAidan Ross <aross02@fairport.org>2023-05-25 16:31:51 -0400
commitb3f8d14e1af6277914e4a7c1c81082fb95f62d85 (patch)
tree81d8a8007fa1ac6a246ba093971c1beaeef717bf
parentcb9076941d76b4395d19d30076481bfeea35cacb (diff)
downloadNPEhero-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.pngbin0 -> 1009759 bytes
-rw-r--r--src/assets/levels/test level2/easy/leaderboard.txt0
-rw-r--r--src/assets/levels/test level2/easy/notes.txt0
-rw-r--r--src/assets/levels/test level2/hard/leaderboard.txt0
-rw-r--r--src/assets/levels/test level2/hard/notes.txt0
-rw-r--r--src/assets/levels/test level2/medium/leaderboard.txt0
-rw-r--r--src/assets/levels/test level2/medium/notes.txt0
-rw-r--r--src/assets/levels/test level2/metadata.json5
-rw-r--r--src/assets/levels/test level2/preview.pngbin0 -> 9072089 bytes
-rw-r--r--src/gameplay/Score.java1
-rw-r--r--src/gameplay/SongPlayer.java15
-rw-r--r--src/gui/LevelSurround.java2
-rw-r--r--src/main/Level.java6
-rw-r--r--src/main/LevelController.java4
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
new file mode 100644
index 0000000..0113819
--- /dev/null
+++ b/src/assets/levels/test level2/background.png
Binary files differ
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
new file mode 100644
index 0000000..002ad9e
--- /dev/null
+++ b/src/assets/levels/test level2/preview.png
Binary files differ
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");