aboutsummaryrefslogtreecommitdiff
path: root/src/fallTest/newSongPlayer.java
diff options
context:
space:
mode:
authorZach Jordan <zjordan58@fairport.org>2023-05-18 08:21:57 -0400
committerZach Jordan <zjordan58@fairport.org>2023-05-18 08:21:57 -0400
commitbbad14a33c614ac3480c599dd72a06e14a86295c (patch)
treec66a48226ad8fc99cd8ebe8894646d6f14228ca7 /src/fallTest/newSongPlayer.java
parent6e58f0c2ea47c33555e236c5f3bcb64a89c633fc (diff)
parent33b5b82b1a2c511c6de0c1f744aec1f04bee12f7 (diff)
downloadNPEhero-bbad14a33c614ac3480c599dd72a06e14a86295c.tar.gz
NPEhero-bbad14a33c614ac3480c599dd72a06e14a86295c.tar.bz2
NPEhero-bbad14a33c614ac3480c599dd72a06e14a86295c.zip
Merge branch 'main' of
https://gitlab.sowgro.net/guitarheros/guitarhero.git into main Conflicts: .classpath
Diffstat (limited to '')
-rw-r--r--src/fallTest/newSongPlayer.java110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/fallTest/newSongPlayer.java b/src/fallTest/newSongPlayer.java
new file mode 100644
index 0000000..3f6d4ed
--- /dev/null
+++ b/src/fallTest/newSongPlayer.java
@@ -0,0 +1,110 @@
+package fallTest;
+
+import javafx.event.EventHandler;
+
+import java.awt.Insets;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.Queue;
+
+import javafx.beans.property.DoubleProperty;
+import javafx.event.*;
+import javafx.event.ActionEvent;
+import javafx.geometry.Pos;
+import javafx.scene.control.Button;
+import javafx.scene.effect.BlurType;
+import javafx.scene.effect.DropShadow;
+import javafx.scene.input.KeyCode;
+import javafx.scene.layout.Border;
+import javafx.scene.layout.BorderStroke;
+import javafx.scene.layout.BorderStrokeStyle;
+import javafx.scene.layout.BorderWidths;
+import javafx.scene.layout.CornerRadii;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.StackPane;
+import javafx.scene.layout.VBox;
+import javafx.scene.paint.Color;
+import javafx.scene.shape.Rectangle;
+import javafx.scene.text.Font;
+import javafx.scene.text.Text;
+
+public class newSongPlayer extends Pane
+{
+ Timer time = new Timer();
+
+ private double dLaneX = 0;
+ TButton dButton = new TButton(Color.RED, 50, 50, 5);
+
+ public void init() {
+ Queue<NoteInfo> dSends = new LinkedList<NoteInfo>(); //Queue that dictates when to send the notes
+ ArrayList<Block> dLane = new ArrayList<Block>(); //Array list containing all the notes currently on the field
+
+ Rectangle field = new Rectangle(50, 50, new Color(0, 0, 0, 0.7));
+ field.heightProperty().bind(this.getScene().getWindow().heightProperty().multiply(0.95));
+ field.widthProperty().bind(this.getScene().getWindow().widthProperty().divide(2.7).add(50));
+ genButton(dButton);
+ /*dButton.setOnKeyPressed(e -> {
+ if (e.getCode() == KeyCode.D) {
+ System.out.println("D");
+ }
+ });*/
+
+ TButton fButton = new TButton(Color.BLUE, 50, 50, 5);
+ genButton(fButton);
+
+ TButton sButton = new TButton(Color.GREEN, 50, 50, 5);
+ genButton(sButton);
+
+ TButton jButton = new TButton(Color.PURPLE, 50, 50, 5);
+ genButton(jButton);
+
+ TButton kButton = new TButton(Color.YELLOW, 50, 50, 5);
+ genButton(kButton);
+
+
+ HBox buttonBox = new HBox();
+ buttonBox.setStyle("-fx-padding: 0;" + "-fx-border-style: solid inside;"
+ + "-fx-border-width: 0;" + "-fx-border-insets: 20;"
+ + "-fx-background-color: black;" + "-fx-opacity: 0.67;");
+ buttonBox.setAlignment(Pos.CENTER);
+ buttonBox.getChildren().addAll(dButton, fButton, sButton, jButton, kButton);
+ buttonBox.setSpacing(10);
+
+ VBox polish = new VBox();
+ polish.getChildren().addAll(field);
+ polish.setAlignment(Pos.TOP_CENTER);
+
+ VBox place = new VBox();
+ place.prefWidthProperty().bind(this.getScene().widthProperty());
+ place.prefHeightProperty().bind(this.getScene().heightProperty());
+ place.setAlignment(Pos.BOTTOM_CENTER);
+ place.getChildren().addAll(buttonBox);
+ place.setSpacing(10);
+
+ StackPane root = new StackPane();
+ root.getChildren().addAll(polish, place);
+
+ super.getChildren().add(root);
+ sendNote(dLane, buttonBox.getLayoutX());
+ }
+
+ public void sendNote(ArrayList<Block> lane, double pos) {
+ lane.add(new Block(Color.PINK, 50, 50, 5));
+ lane.get(lane.size()-1).heightProperty().bind(this.getScene().getWindow().widthProperty().divide(16));
+ lane.get(lane.size()-1).widthProperty().bind(this.getScene().getWindow().widthProperty().divide(16));
+ lane.get(lane.size()-1).arcHeightProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
+ lane.get(lane.size()-1).arcWidthProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
+ lane.get(lane.size()-1).setX(pos);
+ System.out.println(pos);
+ super.getChildren().add(lane.get(lane.size()-1));
+ }
+
+ public void genButton(TButton button) {
+ button.heightProperty().bind(this.getScene().getWindow().widthProperty().divide(16));
+ button.widthProperty().bind(this.getScene().getWindow().widthProperty().divide(16));
+ button.arcHeightProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
+ button.arcWidthProperty().bind(this.getScene().getWindow().widthProperty().divide(50));
+ button.strokeWidthProperty().bind(this.getScene().getWindow().widthProperty().divide(210));
+ }
+}