aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsowgro <tpoke.ferrari@gmail.com>2024-07-08 02:41:31 -0400
committersowgro <tpoke.ferrari@gmail.com>2024-07-08 02:41:31 -0400
commitee2229339429d50afa33e2f8b9c0ee0939766290 (patch)
treea5ee54bd23c24950e9b10815f3e87605906992d8 /src
parent9e1371424bdf4c31d756d686313730d4c61f7ac5 (diff)
downloadNPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.gz
NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.tar.bz2
NPEhero-ee2229339429d50afa33e2f8b9c0ee0939766290.zip
Change project structure, embed resources into jar and remove libraries from source control
Diffstat (limited to 'src')
-rw-r--r--src/main/java/module-info.java12
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/Driver.java (renamed from src/gui/Driver.java)31
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java (renamed from src/devmenu/DebugMenu.java)4
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java (renamed from src/devmenu/DiffEditor.java)10
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java (renamed from src/devmenu/LevelEditor.java)14
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/LevelList.java (renamed from src/devmenu/LevelList.java)19
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java (renamed from src/devmenu/NotesEditor.java)8
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/Block.java (renamed from src/gameplay/Block.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/NoteInfo.java (renamed from src/gameplay/NoteInfo.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/SongPlayer.java (renamed from src/gameplay/SongPlayer.java)25
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/Target.java (renamed from src/gameplay/Target.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gameplay/Timer.java (renamed from src/gameplay/Timer.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/GameOver.java (renamed from src/gui/GameOver.java)7
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/Leaderboard.java (renamed from src/gui/Leaderboard.java)17
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/LevelDetails.java (renamed from src/gui/LevelDetails.java)7
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/LevelSelector.java (renamed from src/gui/LevelSelector.java)16
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/LevelSurround.java (renamed from src/gui/LevelSurround.java)19
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/MainMenu.java (renamed from src/gui/MainMenu.java)6
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/gui/Settings.java (renamed from src/gui/Settings.java)8
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/Difficulty.java (renamed from src/main/Difficulty.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/LeaderboardEntry.java (renamed from src/main/LeaderboardEntry.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/Level.java (renamed from src/main/Level.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/LevelController.java (renamed from src/main/LevelController.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/ScoreController.java (renamed from src/main/ScoreController.java)4
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/SettingsController.java (renamed from src/main/SettingsController.java)2
-rwxr-xr-x[-rw-r--r--]src/main/java/net/sowgro/npehero/main/SoundController.java (renamed from src/main/SoundController.java)34
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/backward.wavbin0 -> 34684 bytes
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/fairyfountain.wavbin0 -> 31539988 bytes
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/forward.wavbin0 -> 54992 bytes
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/hit.wavbin0 -> 34820 bytes
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/miss.wavbin0 -> 44144 bytes
-rwxr-xr-xsrc/main/resources/net/sowgro/npehero/mountains.pngbin0 -> 1115601 bytes
-rwxr-xr-x[-rw-r--r--]src/main/resources/net/sowgro/npehero/style.css (renamed from src/gui/style.css)0
33 files changed, 152 insertions, 107 deletions
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 0000000..7fc3ef1
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,12 @@
+module net.sowgro.npehero {
+ requires javafx.controls;
+ requires javafx.fxml;
+ requires javafx.media;
+ requires json.simple;
+ requires java.desktop;
+
+
+ opens net.sowgro.npehero to javafx.fxml;
+ exports net.sowgro.npehero.gui;
+ exports net.sowgro.npehero;
+} \ No newline at end of file
diff --git a/src/gui/Driver.java b/src/main/java/net/sowgro/npehero/Driver.java
index b46f4c9..b5e226e 100644..100755
--- a/src/gui/Driver.java
+++ b/src/main/java/net/sowgro/npehero/Driver.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero;
import javafx.application.Application;
import javafx.application.Platform;
@@ -15,23 +15,25 @@ import javafx.scene.layout.BackgroundRepeat;
import javafx.scene.layout.BackgroundSize;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
-import main.LevelController;
-import main.SettingsController;
-import main.SoundController;
-import java.nio.file.Paths;
+import net.sowgro.npehero.gui.MainMenu;
+import net.sowgro.npehero.main.LevelController;
+import net.sowgro.npehero.main.SettingsController;
+import net.sowgro.npehero.main.SoundController;
-import devmenu.DebugMenu;
+import java.net.URL;
+import java.util.Objects;
public class Driver extends Application
-{
+{
+
public static Stage primaryStage;
static Pane primaryPane = new Pane();
public static SettingsController settingsController = new SettingsController();
public static SoundController soundController = new SoundController();
public static LevelController levelController = new LevelController();
- public static DebugMenu debug = new DebugMenu();
+// public static DebugMenu debug = new DebugMenu();
/*
* starts javafx
@@ -47,11 +49,12 @@ public class Driver extends Application
*/
@Override
public void start(Stage newPrimaryStage)
- {
+ {
primaryStage = newPrimaryStage;
Scene primaryScene = new Scene(primaryPane, 800,600);
- primaryScene.getStylesheets().add("gui/style.css");
+
+ primaryScene.getStylesheets().add(getClass().getResource("style.css").toExternalForm());
primaryStage.setScene(primaryScene);
primaryStage.setTitle("NPE Hero");
@@ -95,7 +98,7 @@ public class Driver extends Application
/**
* replaces the background image with a new one
- * @param url the url of the image to set
+ * @param image the url of the image to set
*/
public static void setBackground(Image image) //replaces background with a new one
{
@@ -110,7 +113,7 @@ public class Driver extends Application
public static void setMenuBackground()
{
- setBackground(new Image(Paths.get("resources/mountains.png").toUri().toString()));
+ setBackground(new Image(Driver.class.getResource("mountains.png").toExternalForm()));
}
/**
@@ -120,4 +123,8 @@ public class Driver extends Application
{
Platform.exit();
}
+
+ public static URL getResource(String fileName) {
+ return Driver.class.getResource(fileName);
+ }
}
diff --git a/src/devmenu/DebugMenu.java b/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java
index 0d55e69..aecd438 100644..100755
--- a/src/devmenu/DebugMenu.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/DebugMenu.java
@@ -1,6 +1,6 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
-import gui.Driver;
+import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
diff --git a/src/devmenu/DiffEditor.java b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
index 0991fb0..d4ebb02 100644..100755
--- a/src/devmenu/DiffEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/DiffEditor.java
@@ -1,18 +1,18 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.UnsupportedEncodingException;
-import gui.Driver;
-import gui.LevelSurround;
-import gui.MainMenu;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.gui.LevelSurround;
+import net.sowgro.npehero.gui.MainMenu;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
-import main.Difficulty;
+import net.sowgro.npehero.main.Difficulty;
public class DiffEditor
{
diff --git a/src/devmenu/LevelEditor.java b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
index b8a6532..94fcc16 100644..100755
--- a/src/devmenu/LevelEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelEditor.java
@@ -1,21 +1,23 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
import java.io.File;
+
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ColorPicker;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.stage.FileChooser.ExtensionFilter;
-import main.Difficulty;
-import main.Level;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
public class LevelEditor
{
@@ -79,8 +81,8 @@ public class LevelEditor
diffList.getColumns().add(diffCol);
diffList.getColumns().add(validCol);
- diffCol.setCellValueFactory(new PropertyValueFactory<Difficulty,String>("title"));
- validCol.setCellValueFactory(new PropertyValueFactory<Difficulty,Boolean>("valid"));
+ diffCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().title));
+ validCol.setCellValueFactory(data -> new ReadOnlyBooleanWrapper(data.getValue().isValid));
diffList.setItems(level.getDiffList());
diff --git a/src/devmenu/LevelList.java b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
index f9b4207..8d5e0cb 100644..100755
--- a/src/devmenu/LevelList.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/LevelList.java
@@ -1,17 +1,18 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
-import gui.Driver;
+import javafx.beans.property.ReadOnlyBooleanWrapper;
+import javafx.beans.property.ReadOnlyStringWrapper;
+import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
-import main.Level;
-import main.LevelController;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.LevelController;
public class LevelList
{
@@ -33,9 +34,9 @@ public class LevelList
levels.getColumns().add(artistCol);
levels.getColumns().add(validCol);
- titleCol.setCellValueFactory(new PropertyValueFactory<Level, String>("title"));
- artistCol.setCellValueFactory(new PropertyValueFactory<Level, String>("artist"));
- validCol.setCellValueFactory(new PropertyValueFactory<Level, Boolean>("valid"));
+ titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getTitle()));
+ artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getArtist()));
+ validCol.setCellValueFactory(data -> new ReadOnlyBooleanWrapper(data.getValue().isValid()));
levels.setItems(LevelController.getLevelList());
@@ -44,7 +45,7 @@ public class LevelList
edit.setOnAction(e -> new LevelEditor(levels.getSelectionModel().getSelectedItem()));
Button remove = new Button("Delete");
- remove.setOnAction(e -> gui.Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem()));
+ remove.setOnAction(e -> Driver.levelController.removeLevel(levels.getSelectionModel().getSelectedItem()));
Button refresh = new Button("Refresh");
refresh.setOnAction(e -> {
diff --git a/src/devmenu/NotesEditor.java b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
index 0893446..25b21f1 100644..100755
--- a/src/devmenu/NotesEditor.java
+++ b/src/main/java/net/sowgro/npehero/devmenu/NotesEditor.java
@@ -1,17 +1,17 @@
-package devmenu;
+package net.sowgro.npehero.devmenu;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
-import gameplay.Timer;
-import gui.Driver;
+import net.sowgro.npehero.gameplay.Timer;
+import net.sowgro.npehero.Driver;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
-import main.Difficulty;
+import net.sowgro.npehero.main.Difficulty;
public class NotesEditor
{
diff --git a/src/gameplay/Block.java b/src/main/java/net/sowgro/npehero/gameplay/Block.java
index 68e52b6..5bc9d9c 100644..100755
--- a/src/gameplay/Block.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/Block.java
@@ -1,6 +1,6 @@
//glowing block of color c (jfx node)
-package gameplay;
+package net.sowgro.npehero.gameplay;
import javafx.scene.effect.BlurType;
import javafx.scene.effect.DropShadow;
diff --git a/src/gameplay/NoteInfo.java b/src/main/java/net/sowgro/npehero/gameplay/NoteInfo.java
index 6428066..a34e939 100644..100755
--- a/src/gameplay/NoteInfo.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/NoteInfo.java
@@ -1,7 +1,7 @@
/*Name: Guitar Hero Project
*Description: Contains the info for when to send a note
*/
-package gameplay;
+package net.sowgro.npehero.gameplay;
import javafx.scene.paint.Color;
diff --git a/src/gameplay/SongPlayer.java b/src/main/java/net/sowgro/npehero/gameplay/SongPlayer.java
index 8df2c1f..39932a5 100644..100755
--- a/src/gameplay/SongPlayer.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/SongPlayer.java
@@ -1,4 +1,4 @@
-package gameplay;
+package net.sowgro.npehero.gameplay;
import java.io.File;
import java.io.FileNotFoundException;
@@ -11,8 +11,8 @@ import java.util.Scanner;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
-import gui.Driver;
-import gui.GameOver;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.gui.GameOver;
import javafx.geometry.Pos;
import javafx.scene.CacheHint;
import javafx.scene.input.KeyCode;
@@ -23,8 +23,9 @@ import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.animation.*;
import javafx.util.*;
-import main.Difficulty;
-import main.ScoreController;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.ScoreController;
@@ -49,14 +50,14 @@ public class SongPlayer extends Pane {
private boolean songIsPlaying = false;
private boolean missMute = false;
- private main.Level level;
+ private Level level;
private Difficulty difficulty;
private Pane pane;
Timer timer; //the timer that determines when notes will fall, counted in terms of the song's bpm
final int TIME = 1000; //delay for notes falling down the screen
- main.ScoreController scoreCounter = new ScoreController(); //used to keep track of the user's score
+ ScoreController scoreCounter = new ScoreController(); //used to keep track of the user's score
HBox buttonBox = new HBox(); //used to align the buttons horizontally
VBox place = new VBox(); //used to place the buttons within the frame
@@ -111,7 +112,7 @@ public class SongPlayer extends Pane {
}
}
- public SongPlayer(main.Level lvl, Difficulty d, Pane p, ScoreController cntrl) {
+ public SongPlayer(Level lvl, Difficulty d, Pane p, ScoreController cntrl) {
Driver.soundController.endSong();
song = lvl.song;
@@ -146,7 +147,7 @@ public class SongPlayer extends Pane {
genButton(jButton);
genButton(kButton);
- gui.Driver.primaryStage.getScene().setOnKeyPressed(e -> {
+ Driver.primaryStage.getScene().setOnKeyPressed(e -> {
/**
* The keyboard detection for the game: when a key is pressed it
* calls the checkNote() method for the corresponding lane
@@ -199,8 +200,6 @@ public class SongPlayer extends Pane {
*
* @param sends the queue to check
* @param lane the lane to send the note to
- * @param pos the x pos of the note to be sent
- * @param c the color of the sent note
*/
public void sendNote(Queue<NoteInfo> sends, ArrayList<Block> lane, Target button) {
if (sends.peek() != null && timer.time() > sends.peek().getTime()-(1000*(bpm/60000.0))) {
@@ -263,7 +262,7 @@ public class SongPlayer extends Pane {
sendNote(jSends, jLane, jButton);
sendNote(kSends, kLane, kButton);
if (timer.time() > songLength) {
- gui.Driver.setMenu(new GameOver(level, difficulty, pane, scoreCounter.getScore()));
+ Driver.setMenu(new GameOver(level, difficulty, pane, scoreCounter.getScore()));
cancel();
}
if (!songIsPlaying && timer.time() > 0.0) {
@@ -289,7 +288,7 @@ public class SongPlayer extends Pane {
missMute = true;
Driver.soundController.endSong();
Driver.soundController.playMenuSong();
- gui.Driver.setMenuBackground();
+ Driver.setMenuBackground();
gameLoop.stop();
}
diff --git a/src/gameplay/Target.java b/src/main/java/net/sowgro/npehero/gameplay/Target.java
index 6bfac18..3dc8564 100644..100755
--- a/src/gameplay/Target.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/Target.java
@@ -1,6 +1,6 @@
//glowing block of color c (jfx node)
-package gameplay;
+package net.sowgro.npehero.gameplay;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
diff --git a/src/gameplay/Timer.java b/src/main/java/net/sowgro/npehero/gameplay/Timer.java
index 96a6c30..eada237 100644..100755
--- a/src/gameplay/Timer.java
+++ b/src/main/java/net/sowgro/npehero/gameplay/Timer.java
@@ -2,7 +2,7 @@
*Description: Contains the method used to determine how long the user has been playing,
* used to determine when to send notes
*/
-package gameplay;
+package net.sowgro.npehero.gameplay;
public class Timer
diff --git a/src/gui/GameOver.java b/src/main/java/net/sowgro/npehero/gui/GameOver.java
index 8571d20..68ce3ea 100644..100755
--- a/src/gui/GameOver.java
+++ b/src/main/java/net/sowgro/npehero/gui/GameOver.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
@@ -11,8 +11,9 @@ import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
-import main.Difficulty;
-import main.Level;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
public class GameOver extends Pane
{
diff --git a/src/gui/Leaderboard.java b/src/main/java/net/sowgro/npehero/gui/Leaderboard.java
index 39df409..a8e54d1 100644..100755
--- a/src/gui/Leaderboard.java
+++ b/src/main/java/net/sowgro/npehero/gui/Leaderboard.java
@@ -1,17 +1,18 @@
-package gui;
+package net.sowgro.npehero.gui;
+import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.TableColumn.SortType;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
-import main.Difficulty;
-import main.LeaderboardEntry;
-import main.Level;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.LeaderboardEntry;
+import net.sowgro.npehero.main.Level;
public class Leaderboard extends Pane
{
@@ -33,9 +34,9 @@ public class Leaderboard extends Pane
scores.getColumns().add(scoreCol);
scores.getColumns().add(dateCol);
- nameCol.setCellValueFactory(new PropertyValueFactory<LeaderboardEntry, String>("name"));
- scoreCol.setCellValueFactory(new PropertyValueFactory<LeaderboardEntry, String>("score"));
- dateCol.setCellValueFactory(new PropertyValueFactory<LeaderboardEntry, String>("date"));
+ nameCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getName()));
+ scoreCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getScore() + ""));
+ dateCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getDate()));
scores.setItems(diff.getLeaderboard());
diff --git a/src/gui/LevelDetails.java b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java
index af55b9c..25d96c8 100644..100755
--- a/src/gui/LevelDetails.java
+++ b/src/main/java/net/sowgro/npehero/gui/LevelDetails.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
@@ -14,8 +14,9 @@ import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.scene.text.TextFlow;
-import main.Difficulty;
-import main.Level;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
public class LevelDetails extends VBox
{
diff --git a/src/gui/LevelSelector.java b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java
index 6fd6aca..6d3442e 100644..100755
--- a/src/gui/LevelSelector.java
+++ b/src/main/java/net/sowgro/npehero/gui/LevelSelector.java
@@ -1,17 +1,18 @@
-package gui;
+package net.sowgro.npehero.gui;
+import javafx.beans.property.ReadOnlyStringWrapper;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
-import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
-import main.Level;
-import main.LevelController;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.LevelController;
public class LevelSelector extends Pane
{
@@ -31,8 +32,8 @@ public class LevelSelector extends Pane
levels.getColumns().add(titleCol);
levels.getColumns().add(artistCol);
- titleCol.setCellValueFactory(new PropertyValueFactory<Level, String>("title"));
- artistCol.setCellValueFactory(new PropertyValueFactory<Level, String>("artist"));
+ titleCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getTitle()));
+ artistCol.setCellValueFactory(data -> new ReadOnlyStringWrapper(data.getValue().getArtist()));
levels.setItems(LevelController.getValidLevelList());
@@ -43,7 +44,8 @@ public class LevelSelector extends Pane
Button exit = new Button();
exit.setText("Back");
- exit.setOnAction(e -> {Driver.setMenu(new MainMenu());
+ exit.setOnAction(e -> {
+ Driver.setMenu(new MainMenu());
Driver.soundController.playSfx("backward");
});
diff --git a/src/gui/LevelSurround.java b/src/main/java/net/sowgro/npehero/gui/LevelSurround.java
index dcf8a10..08baf9e 100644..100755
--- a/src/gui/LevelSurround.java
+++ b/src/main/java/net/sowgro/npehero/gui/LevelSurround.java
@@ -1,6 +1,7 @@
-package gui;
+package net.sowgro.npehero.gui;
-import gameplay.SongPlayer;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.gameplay.SongPlayer;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
@@ -10,9 +11,9 @@ import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
-import main.Difficulty;
-import main.Level;
-import main.ScoreController;
+import net.sowgro.npehero.main.Difficulty;
+import net.sowgro.npehero.main.Level;
+import net.sowgro.npehero.main.ScoreController;
public class LevelSurround extends Pane
{
@@ -127,22 +128,22 @@ public class LevelSurround extends Pane
Button addScore = new Button();
addScore.setText(level.getTitle() + " addscore");
addScore.setOnAction(e -> sc.setScore(sc.getScore()+1));
- Driver.debug.addButton(addScore);
+// Driver.debug.addButton(addScore);
Button addCombo = new Button();
addCombo.setText(level.getTitle() + " addcombo");
addCombo.setOnAction(e -> sc.setCombo(sc.getCombo()+1));
- Driver.debug.addButton(addCombo);
+// Driver.debug.addButton(addCombo);
Button printD = new Button();
printD.setText(level.getTitle() + " print debug");
printD.setOnAction(e -> sc.print());
- Driver.debug.addButton(printD);
+// Driver.debug.addButton(printD);
Button testfinish = new Button();
testfinish.setText(level.getTitle() + "launch game end");
testfinish.setOnAction(e -> Driver.setMenu(new GameOver(level, difficulty, prev, sc.getScore())));
- Driver.debug.addButton(testfinish);
+// Driver.debug.addButton(testfinish);
game.start();
}
diff --git a/src/gui/MainMenu.java b/src/main/java/net/sowgro/npehero/gui/MainMenu.java
index 84a7508..bb1970f 100644..100755
--- a/src/gui/MainMenu.java
+++ b/src/main/java/net/sowgro/npehero/gui/MainMenu.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.geometry.Pos;
import javafx.scene.control.Button;
@@ -8,6 +8,7 @@ import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
+import net.sowgro.npehero.Driver;
public class MainMenu extends Pane
@@ -31,7 +32,8 @@ public class MainMenu extends Pane
Button play = new Button();
play.setText("Play");
- play.setOnAction(e -> {Driver.setMenu(new LevelSelector());
+ play.setOnAction(e -> {
+ Driver.setMenu(new LevelSelector());
Driver.soundController.playSfx("forward");
});
diff --git a/src/gui/Settings.java b/src/main/java/net/sowgro/npehero/gui/Settings.java
index 663353a..882eb86 100644..100755
--- a/src/gui/Settings.java
+++ b/src/main/java/net/sowgro/npehero/gui/Settings.java
@@ -1,4 +1,4 @@
-package gui;
+package net.sowgro.npehero.gui;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
@@ -10,6 +10,8 @@ import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
+import net.sowgro.npehero.Driver;
+import net.sowgro.npehero.devmenu.LevelList;
public class Settings extends Pane
{
@@ -75,14 +77,14 @@ public class Settings extends Pane
Button levelEdit = new Button("Level Utility");
levelEdit.setOnAction(e -> {
Driver.soundController.playSfx("forward");
- new devmenu.LevelList();
+ new LevelList();
});
Button devMenu = new Button();
devMenu.setText("Debug Menu");
devMenu.setOnAction(e -> {
Driver.soundController.playSfx("forward");
- Driver.debug.show();
+// Driver.debug.show();
});
VBox devBox = new VBox();
diff --git a/src/main/Difficulty.java b/src/main/java/net/sowgro/npehero/main/Difficulty.java
index d8587f1..6bd565a 100644..100755
--- a/src/main/Difficulty.java
+++ b/src/main/java/net/sowgro/npehero/main/Difficulty.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
import java.io.FileReader;
diff --git a/src/main/LeaderboardEntry.java b/src/main/java/net/sowgro/npehero/main/LeaderboardEntry.java
index 9a298b6..18e657c 100644..100755
--- a/src/main/LeaderboardEntry.java
+++ b/src/main/java/net/sowgro/npehero/main/LeaderboardEntry.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
public class LeaderboardEntry
{
diff --git a/src/main/Level.java b/src/main/java/net/sowgro/npehero/main/Level.java
index 313b1fa..ef264ff 100644..100755
--- a/src/main/Level.java
+++ b/src/main/java/net/sowgro/npehero/main/Level.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
import java.util.Collections;
diff --git a/src/main/LevelController.java b/src/main/java/net/sowgro/npehero/main/LevelController.java
index 07ea3f8..68d7450 100644..100755
--- a/src/main/LevelController.java
+++ b/src/main/java/net/sowgro/npehero/main/LevelController.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
import java.io.IOException;
diff --git a/src/main/ScoreController.java b/src/main/java/net/sowgro/npehero/main/ScoreController.java
index 066a0d1..ba43171 100644..100755
--- a/src/main/ScoreController.java
+++ b/src/main/java/net/sowgro/npehero/main/ScoreController.java
@@ -1,6 +1,6 @@
-package main;
+package net.sowgro.npehero.main;
-import gui.Driver;
+import net.sowgro.npehero.Driver;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
diff --git a/src/main/SettingsController.java b/src/main/java/net/sowgro/npehero/main/SettingsController.java
index 3304dd4..d5f3e3b 100644..100755
--- a/src/main/SettingsController.java
+++ b/src/main/java/net/sowgro/npehero/main/SettingsController.java
@@ -1,4 +1,4 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.FileWriter;
import java.io.File;
diff --git a/src/main/SoundController.java b/src/main/java/net/sowgro/npehero/main/SoundController.java
index 0d7527e..da80ab4 100644..100755
--- a/src/main/SoundController.java
+++ b/src/main/java/net/sowgro/npehero/main/SoundController.java
@@ -1,10 +1,12 @@
-package main;
+package net.sowgro.npehero.main;
import java.io.File;
+import java.net.URISyntaxException;
+import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashMap;
-import gui.Driver;
+import net.sowgro.npehero.Driver;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.util.Duration;
@@ -13,19 +15,27 @@ public class SoundController
{
public MediaPlayer songMediaPlayer;
public MediaPlayer sfxMediaPlayer;
- private HashMap<String,MediaPlayer> effects = new HashMap<>();
- private File mainMenuSong = Paths.get("resources/fairyfountain.wav").toFile();
-
+ private final HashMap<String,MediaPlayer> effects = new HashMap<>();
+ private final File mainMenuSong;
+
+ {
+ try {
+ mainMenuSong = new File(Driver.getResource("fairyfountain.wav").toURI());
+ } catch (URISyntaxException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
/**
* creates a new sound controller and starts playing the main menu music
*/
public SoundController()
{
- effects.put("hit", new MediaPlayer(new Media(Paths.get("resources/hit.wav").toUri().toString())));
- effects.put("miss", new MediaPlayer(new Media(Paths.get("resources/miss.wav").toUri().toString())));
- effects.put("forward", new MediaPlayer(new Media(Paths.get("resources/forward.wav").toUri().toString())));
- effects.put("backward", new MediaPlayer(new Media(Paths.get("resources/backward.wav").toUri().toString())));
+ effects.put("hit", new MediaPlayer(new Media(Driver.getResource("hit.wav").toString())));
+ effects.put("miss", new MediaPlayer(new Media(Driver.getResource("miss.wav").toString())));
+ effects.put("forward", new MediaPlayer(new Media(Driver.getResource("forward.wav").toString())));
+ effects.put("backward", new MediaPlayer(new Media(Driver.getResource("backward.wav").toString())));
effects.forEach((key,value) -> {
value.volumeProperty().bind(Driver.settingsController.effectsVol);
});
@@ -53,6 +63,10 @@ public class SoundController
*/
public void playMenuSong()
{
+ if (!mainMenuSong.exists()) {
+ System.out.println("NOT EXIST " + mainMenuSong.getAbsolutePath());
+ return;
+ }
playSong(mainMenuSong);
songMediaPlayer.setCycleCount(MediaPlayer.INDEFINITE);
songMediaPlayer.play();
@@ -71,7 +85,7 @@ public class SoundController
/**
* plays a sound effect
- * for the volume slider to take affect each mediaplayer needs to be pre loaded.
+ * for the volume slider to take effect each mediaplayer needs to be preloaded.
* this rewinds and played the proper mediaplayer for the sound
* @param preset: a string of the name of the sound. possible sounds assigned in the constructor
*/
diff --git a/src/main/resources/net/sowgro/npehero/backward.wav b/src/main/resources/net/sowgro/npehero/backward.wav
new file mode 100755
index 0000000..e88f58d
--- /dev/null
+++ b/src/main/resources/net/sowgro/npehero/backward.wav
Binary files differ
diff --git a/src/main/resources/net/sowgro/npehero/fairyfountain.wav b/src/main/resources/net/sowgro/npehero/fairyfountain.wav
new file mode 100755
index 0000000..b6fea56
--- /dev/null
+++ b/src/main/resources/net/sowgro/npehero/fairyfountain.wav
Binary files differ
diff --git a/src/main/resources/net/sowgro/npehero/forward.wav b/src/main/resources/net/sowgro/npehero/forward.wav
new file mode 100755
index 0000000..c7b1a77
--- /dev/null
+++ b/src/main/resources/net/sowgro/npehero/forward.wav
Binary files differ
diff --git a/src/main/resources/net/sowgro/npehero/hit.wav b/src/main/resources/net/sowgro/npehero/hit.wav
new file mode 100755
index 0000000..b9463a2
--- /dev/null
+++ b/src/main/resources/net/sowgro/npehero/hit.wav
Binary files differ
diff --git a/src/main/resources/net/sowgro/npehero/miss.wav b/src/main/resources/net/sowgro/npehero/miss.wav
new file mode 100755
index 0000000..d91a987
--- /dev/null
+++ b/src/main/resources/net/sowgro/npehero/miss.wav
Binary files differ
diff --git a/src/main/resources/net/sowgro/npehero/mountains.png b/src/main/resources/net/sowgro/npehero/mountains.png
new file mode 100755
index 0000000..39d560e
--- /dev/null
+++ b/src/main/resources/net/sowgro/npehero/mountains.png
Binary files differ
diff --git a/src/gui/style.css b/src/main/resources/net/sowgro/npehero/style.css
index dd1de55..dd1de55 100644..100755
--- a/src/gui/style.css
+++ b/src/main/resources/net/sowgro/npehero/style.css