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.wav Binary files differnew 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.wav Binary files differnew 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.wav Binary files differnew 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.wav Binary files differnew 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.wav Binary files differnew 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.png Binary files differnew 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 |