aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/JFXaudioPlayer.java29
-rw-r--r--src/test/KeyDetection.java27
-rw-r--r--src/test/NoteTest.java35
-rw-r--r--src/test/SongPlayer.java97
-rw-r--r--src/test/focusTest.java46
5 files changed, 234 insertions, 0 deletions
diff --git a/src/test/JFXaudioPlayer.java b/src/test/JFXaudioPlayer.java
new file mode 100644
index 0000000..2f12e20
--- /dev/null
+++ b/src/test/JFXaudioPlayer.java
@@ -0,0 +1,29 @@
+package test;
+
+import java.io.File;
+import java.io.IOException;
+
+import javafx.application.Application;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.Parent;
+import javafx.scene.media.Media;
+import javafx.scene.media.MediaPlayer;
+import javafx.stage.Stage;
+
+public class JFXaudioPlayer extends Application{
+
+ public static void main(String[] args)
+ {
+ launch(args);
+ }
+
+ @Override
+ public void start(Stage primaryStage)
+ {
+ // primaryStage.show();
+ String musicFile = "EXAMPLE.mp3"; // For example
+ Media sound = new Media(new File(musicFile).toURI().toString());
+ MediaPlayer mediaPlayer = new MediaPlayer(sound);
+ mediaPlayer.play();
+ }
+} \ No newline at end of file
diff --git a/src/test/KeyDetection.java b/src/test/KeyDetection.java
new file mode 100644
index 0000000..447b101
--- /dev/null
+++ b/src/test/KeyDetection.java
@@ -0,0 +1,27 @@
+/*Name:
+ *Date:
+ *Period:
+ *Teacher:
+ *Description:
+ */
+package test;
+
+import javax.swing.*;
+import java.awt.event.ActionEvent;
+
+public class KeyDetection extends AbstractAction
+{
+ long timeStart = System.currentTimeMillis();
+ private char key;
+ public KeyDetection(char ch){
+ key = ch;
+ }
+
+ public void actionPerformed(ActionEvent e)
+ {
+ // TODO Auto-generated method stub
+ int time = (int)((System.currentTimeMillis()-timeStart));
+ System.out.println(key + ": " + time);
+ }
+
+}
diff --git a/src/test/NoteTest.java b/src/test/NoteTest.java
new file mode 100644
index 0000000..ce74d56
--- /dev/null
+++ b/src/test/NoteTest.java
@@ -0,0 +1,35 @@
+/*Name:
+ *Date:
+ *Period:
+ *Teacher:
+ *Description:
+ */
+package test;
+import java.awt.*;
+
+public class NoteTest
+{
+ private boolean failed = false;
+ private int lane;
+ private final int NOTESPEED = 1;
+ private int yPos = SongPlayer.HEIGHT;
+
+ public void gameTick() {
+ if (!failed) {
+ if (yPos > 0) {
+ yPos -= NOTESPEED;
+ }
+ else {
+ failed = true;
+ }
+ }
+ }
+
+ public boolean getFailed() {
+ return failed;
+ }
+
+ public int getY() {
+ return yPos;
+ }
+}
diff --git a/src/test/SongPlayer.java b/src/test/SongPlayer.java
new file mode 100644
index 0000000..48f859d
--- /dev/null
+++ b/src/test/SongPlayer.java
@@ -0,0 +1,97 @@
+/*Name:
+ *Date:
+ *Period:
+ *Teacher:
+ *Description:
+ */
+package test;
+
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+
+
+public class SongPlayer
+{
+ public static final int HEIGHT = 650;
+ public static final int LENGTH = 400;
+
+
+ private final int BLENGTH = LENGTH/6;
+ private final int BHEIGHT = HEIGHT/20;
+ JFrame frame = new JFrame("Guitar Hero"); //creates the frame
+
+
+ JButton d = new JButton("D"); //creates the four button lanes
+ JButton f = new JButton("F");
+ JButton h = new JButton("H");
+ JButton j = new JButton("J");
+
+
+ public void createAndShowGui() {
+
+ d.setBounds(1*BLENGTH, (5*HEIGHT)/6, BLENGTH, BHEIGHT); //makes the button bounds for each button
+ f.setBounds(2*BLENGTH, (5*HEIGHT)/6, BLENGTH, BHEIGHT);
+ h.setBounds(3*BLENGTH, (5*HEIGHT)/6, BLENGTH, BHEIGHT);
+ j.setBounds(4*BLENGTH, (5*HEIGHT)/6, BLENGTH, BHEIGHT);
+
+
+ frame.add(d); //adds the buttons to the frame
+ frame.add(f);
+ frame.add(h);
+ frame.add(j);
+
+ frame.setSize(LENGTH, HEIGHT); //sets the size of the frame
+ frame.setLayout(null); //???
+ frame.setVisible(true); //makes the frame visible
+
+ KeyDetection dAction = new KeyDetection('d'); //creates an action for each char
+ d.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke('d'), "dPress"); //Input map and Action map setting
+ d.getActionMap().put("dPress", dAction);
+ d.setFocusable(false); //makes it so you can't highlight the button
+
+ KeyDetection fAction = new KeyDetection('f');
+ f.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke('f'), "fPress");
+ f.getActionMap().put("fPress", fAction);
+ f.setFocusable(false);
+
+ KeyDetection hAction = new KeyDetection('h');
+ h.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke('h'), "hPress");
+ h.getActionMap().put("hPress", hAction);
+ h.setFocusable(false);
+
+ KeyDetection jAction = new KeyDetection('j');
+ j.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke('j'), "jPress");
+ j.getActionMap().put("jPress", jAction);
+ j.setFocusable(false);
+ }
+
+ public void loop() {
+ JButton note = new JButton();
+ JButton test = new JButton();
+ test.setBounds(200, 200, 100, 100);
+ note.setBounds(BLENGTH, 0, BLENGTH, BHEIGHT);
+ frame.add(note);
+ frame.add(test);
+
+ NoteTest a = new NoteTest();
+ while (!a.getFailed()) {
+ if (!a.getFailed()) {
+ a.gameTick();
+ note.setBounds(BLENGTH, HEIGHT-a.getY(), BLENGTH, BHEIGHT); //moves the note down every frame
+ System.out.println(a.getFailed());
+ //the computer runs too fast normally, force it to run at a certain fps
+ try {
+ Thread.sleep(2);
+ } catch (InterruptedException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+ if (a.getFailed()) {
+ frame.remove(note); //removes the note once its off the screen
+ }
+ }
+ }
+}
diff --git a/src/test/focusTest.java b/src/test/focusTest.java
new file mode 100644
index 0000000..bc337da
--- /dev/null
+++ b/src/test/focusTest.java
@@ -0,0 +1,46 @@
+package test;
+
+import javafx.application.Application;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.ToggleButton;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.VBox;
+import javafx.stage.Stage;
+
+public class focusTest extends Application {
+
+ public static void main(String[] args)
+ {
+ launch(args);
+ }
+
+ @Override
+ public void start(Stage primaryStage) throws Exception
+ {
+ VBox root = new VBox();
+ root.setAlignment(Pos.CENTER);
+ root.setSpacing(20);
+ Scene sc = new Scene(root, 500, 500);
+ primaryStage.setScene(sc);
+ primaryStage.show();
+
+
+ ToggleButton btn1 = new ToggleButton("Button 1");
+ ToggleButton btn2 = new ToggleButton("Button 2");
+ ToggleButton btn3 = new ToggleButton("Button 3");
+ ToggleButton btn4 = new ToggleButton("Button 4");
+
+ HBox hb1 = new HBox();
+ hb1.setAlignment(Pos.CENTER);
+ hb1.getChildren().addAll(btn1, btn2);
+
+ HBox hb2 = new HBox();
+ hb2.setAlignment(Pos.CENTER);
+ hb2.getChildren().addAll(btn3, btn4);
+
+ root.getChildren().addAll(hb1, hb2);
+
+ hb1.requestFocus();
+ }
+}