aboutsummaryrefslogtreecommitdiff
path: root/SongPlayer.java
diff options
context:
space:
mode:
authorTyler Ferrari <tpoke.ferrari@gmail.com>2023-05-04 02:37:34 +0000
committerTyler Ferrari <tpoke.ferrari@gmail.com>2023-05-04 02:37:34 +0000
commit291cf3bbfbd316f6acdb6d686470113ab91f53b6 (patch)
tree72ad28111d5c53e47dc5a825730bc88e6f7e638f /SongPlayer.java
parent6a10a65a0dbcd0540202479a02e4f91881791d6b (diff)
parenta52f89a5092d347797cfd0893fc163233160e9e1 (diff)
downloadNPEhero-291cf3bbfbd316f6acdb6d686470113ab91f53b6.tar.gz
NPEhero-291cf3bbfbd316f6acdb6d686470113ab91f53b6.tar.bz2
NPEhero-291cf3bbfbd316f6acdb6d686470113ab91f53b6.zip
Merge branch 'revert-6a10a65a' into 'main'
Revert "rearange some files" See merge request guitarheros/guitarhero!2
Diffstat (limited to 'SongPlayer.java')
-rw-r--r--SongPlayer.java97
1 files changed, 97 insertions, 0 deletions
diff --git a/SongPlayer.java b/SongPlayer.java
new file mode 100644
index 0000000..50e06aa
--- /dev/null
+++ b/SongPlayer.java
@@ -0,0 +1,97 @@
+/*Name:
+ *Date:
+ *Period:
+ *Teacher:
+ *Description:
+ */
+package cs;
+
+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
+ }
+ }
+ }
+}