aboutsummaryrefslogtreecommitdiff
path: root/PunchingBag/src/PunchingBagGUI.java
blob: d7f4f9aef3623a0a2b0ad52f997da790fc012480 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Area;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class PunchingBagGUI implements MouseListener, MouseMotionListener, ButtonListener {

	public static enum Mode {
		Menu, Interactive, Game
	};

	Mode currentMode = Mode.Interactive;

	final int bagXSize = 360;
	final int bagYSize = 840;

	static JFrame frame;
	static JFrame bagSimFrame;
	
	static PunchingBag bag = new PunchingBag();

	// Contact
	public enum Direction {
		None, Up, Down, Left, Right
	};

	final boolean useDebugScreen = true;

	public static void main(String[] args) throws InterruptedException {
		//SlaveArduino.listPorts();
		
		new PunchingBagGUI();
		
	}

	PunchingBagGUI() throws InterruptedException {
		frame = new JFrame("Punching Bag GUI");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		frame.setSize(300, 300);
		frame.setVisible(true);

		bagSimFrame = new JFrame("Punching Bag Sim");
		bagSimFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		bagSimFrame.setSize(bagXSize, bagYSize);
		bagSimFrame.addMouseListener(this);
		bagSimFrame.addMouseMotionListener(this);
		bagSimFrame.setVisible(true);

		System.out.println("Bag X: " + bagSimFrame.getX() + " Bag Y: "
				+ bagSimFrame.getY());
		
		bag.addButtonListener(this);

		draw();
	}

	void draw() throws InterruptedException {
		bagSimFrame.paintComponents(bagSimFrame.getGraphics());
		// bagSimFrame.paintAll(bagSimFrame.getGraphics());
		Thread.sleep(16);
		draw();
	}

	public void runInteractively(Contact contact) {

	}


	public void mouseClicked(MouseEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void mouseEntered(MouseEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void mouseExited(MouseEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void mousePressed(MouseEvent arg0) {
		if (currentMode == Mode.Interactive) {
			runInteractively(new Contact(System.currentTimeMillis(), (arg0.getX() - 4)/ 40 , (arg0.getY() - 30) / 40, 0));
		}
	}

	public void mouseReleased(MouseEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void mouseDragged(MouseEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void mouseMoved(MouseEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void contact(Contact c) {
		// TODO Auto-generated method stub
		
	}

}