diff options
| author | sowgro <tpoke.ferrari@gmail.com> | 2024-07-08 02:41:31 -0400 | 
|---|---|---|
| committer | sowgro <tpoke.ferrari@gmail.com> | 2024-07-08 02:41:31 -0400 | 
| commit | ee2229339429d50afa33e2f8b9c0ee0939766290 (patch) | |
| tree | a5ee54bd23c24950e9b10815f3e87605906992d8 /src | |
| parent | 9e1371424bdf4c31d756d686313730d4c61f7ac5 (diff) | |
| download | NPEhero-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.java | 12 | ||||
| -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-x | src/main/resources/net/sowgro/npehero/backward.wav | bin | 0 -> 34684 bytes | |||
| -rwxr-xr-x | src/main/resources/net/sowgro/npehero/fairyfountain.wav | bin | 0 -> 31539988 bytes | |||
| -rwxr-xr-x | src/main/resources/net/sowgro/npehero/forward.wav | bin | 0 -> 54992 bytes | |||
| -rwxr-xr-x | src/main/resources/net/sowgro/npehero/hit.wav | bin | 0 -> 34820 bytes | |||
| -rwxr-xr-x | src/main/resources/net/sowgro/npehero/miss.wav | bin | 0 -> 44144 bytes | |||
| -rwxr-xr-x | src/main/resources/net/sowgro/npehero/mountains.png | bin | 0 -> 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.wavBinary files differ new file mode 100755 index 0000000..e88f58d --- /dev/null +++ b/src/main/resources/net/sowgro/npehero/backward.wav diff --git a/src/main/resources/net/sowgro/npehero/fairyfountain.wav b/src/main/resources/net/sowgro/npehero/fairyfountain.wavBinary files differ new file mode 100755 index 0000000..b6fea56 --- /dev/null +++ b/src/main/resources/net/sowgro/npehero/fairyfountain.wav diff --git a/src/main/resources/net/sowgro/npehero/forward.wav b/src/main/resources/net/sowgro/npehero/forward.wavBinary files differ new file mode 100755 index 0000000..c7b1a77 --- /dev/null +++ b/src/main/resources/net/sowgro/npehero/forward.wav diff --git a/src/main/resources/net/sowgro/npehero/hit.wav b/src/main/resources/net/sowgro/npehero/hit.wavBinary files differ new file mode 100755 index 0000000..b9463a2 --- /dev/null +++ b/src/main/resources/net/sowgro/npehero/hit.wav diff --git a/src/main/resources/net/sowgro/npehero/miss.wav b/src/main/resources/net/sowgro/npehero/miss.wavBinary files differ new file mode 100755 index 0000000..d91a987 --- /dev/null +++ b/src/main/resources/net/sowgro/npehero/miss.wav diff --git a/src/main/resources/net/sowgro/npehero/mountains.png b/src/main/resources/net/sowgro/npehero/mountains.pngBinary files differ new file mode 100755 index 0000000..39d560e --- /dev/null +++ b/src/main/resources/net/sowgro/npehero/mountains.png 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 | 
