aboutsummaryrefslogtreecommitdiff
path: root/src
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 /src
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.
Diffstat (limited to 'src')
-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");