jancoow 10 éve
szülő
commit
44f4444ad0

+ 20 - 11
control/NetworkHandler.java

@@ -39,12 +39,11 @@ public class NetworkHandler implements Runnable{
 		send = new byte[1024];
 		receive = new byte[1024];
 		
-		try {
-			udp = new DatagramSocket();
-			udp.connect(InetAddress.getByName(host), port);
-		} catch (SocketException | UnknownHostException e) {
-			e.printStackTrace();
-		}
+			try {
+				udp = new DatagramSocket(1112);
+			} catch (SocketException e) {
+				e.printStackTrace();
+			}
 		
 		running = true;
 		t = new Thread(this);
@@ -84,15 +83,25 @@ public class NetworkHandler implements Runnable{
 		
 		while(running)
 		{
-			DatagramPacket pckg = new DatagramPacket(receive, receive.length);
+			DatagramPacket receivePacket = new DatagramPacket(receive, receive.length);     
 			try {
-				udp.receive(pckg);
+				udp.receive(receivePacket);
 			} catch (IOException e) {
 				e.printStackTrace();
-			}	
+			}                   
+			String sentence = new String( receivePacket.getData());   
+			System.out.println("RECEIVED: " + sentence); 
 			
-			String str = new String(pckg.getData());
-			System.out.println(str);
+			String[] controls = sentence.split("\\|");
+			for(int i = 0; i < 7; i++){
+				if(Integer.parseInt(controls[i]) != ButtonHandler.getButton(i).pressed)
+				{
+					System.out.println("PRESS BITCH " + controls[i]);
+					ButtonHandler.getButton(i).pressed = Integer.parseInt(controls[i]);
+					if(Integer.parseInt(controls[i]) == 0)
+						bth.buttonPress(ButtonHandler.getButton(i));
+				}
+			}
 		}
 			
 	}

+ 8 - 6
control/button/Button.java

@@ -3,21 +3,23 @@ package control.button;
 import java.awt.Color;
 
 import main.Window;
-import control.LedHandler;
+import control.NetworkHandler;
 
 public class Button {
 
 	Color color;
 	int ledID;
 	int buttonID;
-	LedHandler led;
+	NetworkHandler ntw;
+	public int pressed;
 	
-	public Button(int buttonID, int ledID, LedHandler led)
+	public Button(int buttonID, int ledID, NetworkHandler ntw)
 	{
 		color = new Color(255,255,255);
 		this.ledID = ledID;
 		this.buttonID = buttonID;
-		this.led = led;
+		this.ntw = ntw;
+		pressed = 1;
 		setLed();
 	}
 	
@@ -25,8 +27,8 @@ public class Button {
 	{
 		if(Window.ON_RASP)
 		{
-			led.setLed(ledID, color.getGreen(), color.getRed(), color.getBlue());
-			led.show();
+			ntw.setLed(ledID, color.getGreen(), color.getRed(), color.getBlue());
+			ntw.show();
 		}
 	}
 	

+ 20 - 16
control/button/ButtonHandler.java

@@ -16,28 +16,20 @@ import com.pi4j.io.gpio.RaspiPin;
 import com.pi4j.io.gpio.event.GpioPinDigitalStateChangeEvent;
 import com.pi4j.io.gpio.event.GpioPinListenerDigital;
 
-import control.LedHandler;
+import control.NetworkHandler;
 
 public class ButtonHandler implements KeyListener{
 
 	List<ButtonListener> listeners;
 	static List<Button> buttons;
-	LedHandler led;
+	NetworkHandler ntw;
 	
-	public ButtonHandler(LedHandler led)
+	public ButtonHandler()
 	{
-		this.led = led;
+		this.ntw = null;
 		
 		listeners = new ArrayList<ButtonListener>();
 		buttons = new ArrayList<Button>();
-		
-		buttons.add(new Button(0, -1, led));
-		buttons.add(new Button(1, 2, led));
-		buttons.add(new Button(2, 1, led));
-		buttons.add(new Button(3, 0, led));
-		buttons.add(new Button(4, 3, led));
-		buttons.add(new Button(5, 4, led));
-		buttons.add(new Button(6, 5, led));
 	
 //		if (Window.ON_RASP)
 //			addGpioListeners();
@@ -81,8 +73,8 @@ public class ButtonHandler implements KeyListener{
 		if(Window.ON_RASP)
 		{
 			Color c = b.getColor().brighter().brighter();
-			led.setLed(b.getLedID(), c.getGreen(), c.getRed(), c.getBlue());
-			led.show();
+			ntw.setLed(b.getLedID(), c.getGreen(), c.getRed(), c.getBlue());
+			ntw.show();
 		}
 		ButtonEvent e = new ButtonEvent(b, System.currentTimeMillis());
 	    for (ButtonListener bt : listeners)
@@ -92,8 +84,8 @@ public class ButtonHandler implements KeyListener{
 	public void buttonRelease(Button b) {
 		if(Window.ON_RASP)
 		{
-			led.setLed(b.getLedID(), b.getColor().getGreen(), b.getColor().getRed(), b.getColor().getBlue());
-			led.show();
+			ntw.setLed(b.getLedID(), b.getColor().getGreen(), b.getColor().getRed(), b.getColor().getBlue());
+			ntw.show();
 		}
 		ButtonEvent e = new ButtonEvent(b, System.currentTimeMillis());
 	    for (ButtonListener bt : listeners)
@@ -177,4 +169,16 @@ public class ButtonHandler implements KeyListener{
 		}
 		return null;
 	}
+
+	public void setNetwork(NetworkHandler ntw) {
+		this.ntw = ntw;
+		
+		buttons.add(new Button(0, -1, ntw));
+		buttons.add(new Button(1, 2, ntw));
+		buttons.add(new Button(2, 1, ntw));
+		buttons.add(new Button(3, 0, ntw));
+		buttons.add(new Button(4, 3, ntw));
+		buttons.add(new Button(5, 4, ntw));
+		buttons.add(new Button(6, 5, ntw));
+	}
 }

+ 3 - 1
main/Window.java

@@ -54,11 +54,13 @@ public class Window extends JFrame {
 			this.setCursor(blankCursor);
 		}
 		
-		ButtonHandler bth = new ButtonHandler(led);
+		ButtonHandler bth = new ButtonHandler();
 		JoystickHandler jsh = new JoystickHandler();
 		
 		NetworkHandler ntw = new NetworkHandler("192.168.1.6", 1113, bth, jsh);
 		
+		bth.setNetwork(ntw);
+		
 		//Create Instances
 		final SongHandler sh = new SongHandler();
 		GameStateManager gsm = new GameStateManager(sh);