Explorar el Código

Bugfix things

Kenneth van Ewijk hace 10 años
padre
commit
a3069af5c0
Se han modificado 5 ficheros con 46 adiciones y 24 borrados
  1. 15 4
      control/GameControl.java
  2. 1 4
      control/LedHandler.java
  3. 1 1
      main/Window.java
  4. 24 11
      model/GameModel.java
  5. 5 4
      model/gameState/PlayState.java

+ 15 - 4
control/GameControl.java

@@ -2,10 +2,9 @@ package control;
 
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.Timer;
 import java.util.TimerTask;
 
-import javax.swing.Timer;
-
 import model.GameModel;
 import view.GameView;
 import control.button.ButtonEvent;
@@ -27,8 +26,20 @@ public class GameControl implements JoystickListener, ButtonListener, ActionList
 		this.view = view;
 		this.gsm = gsm;
 		view.setIgnoreRepaint(true);
-		update = new Timer(1000/60,this);
-		update.start();
+//		update = new Timer(1000/60,this);
+//		update.start();
+		Timer update = new Timer();
+		update.schedule(new TimerTask() {
+			
+			@Override
+			public void run() {
+				long currentTime = System.currentTimeMillis();
+				model.update(currentTime - lastTime);
+				lastTime = currentTime;
+				view.repaint();			
+				System.out.println("Test");
+			}
+		}, 0,1000/120);
 	}
 
 	@Override

+ 1 - 4
control/LedHandler.java

@@ -15,10 +15,7 @@ public class LedHandler {
 	    try {
 	        p = Runtime.getRuntime().exec("sudo python led.py");
 	        inp = new BufferedReader( new InputStreamReader(p.getInputStream()) );
-	        out = new BufferedWriter( new OutputStreamWriter(p.getOutputStream()) );
-	        
-	        //setLed(15, 100, 100, 100);	        
-	        //strobo();        
+	        out = new BufferedWriter( new OutputStreamWriter(p.getOutputStream()) );      
 	    }
 	    catch (Exception err) {
 	        err.printStackTrace();

+ 1 - 1
main/Window.java

@@ -61,7 +61,7 @@ public class Window extends JFrame {
 		final SongHandler sh = new SongHandler();
 		GameStateManager gsm = new GameStateManager(sh);
 		GameView view = new GameView(led,gsm);
-		GameModel model = new GameModel(sh, gsm);
+		GameModel model = new GameModel(sh, gsm, led);
 		GameControl control = new GameControl(model, view,gsm);
 		setContentPane(view);
 		

+ 24 - 11
model/GameModel.java

@@ -2,24 +2,37 @@ package model;
 
 import java.awt.Color;
 
+import main.Window;
 import control.GameStateManager;
+import control.LedHandler;
 import control.button.ButtonHandler;
 
-public class GameModel{
-	
-	public static Color[] colors = {Color.GREEN,Color.YELLOW,Color.RED,Color.MAGENTA,Color.CYAN,Color.WHITE};
+public class GameModel {
+
+	public static Color[] colors = { Color.GREEN, Color.YELLOW, Color.RED, Color.MAGENTA, Color.CYAN, Color.WHITE };
 	private GameStateManager gsm;
-	
-	public GameModel(SongHandler sh, GameStateManager gsm)
-	{
+	private LedHandler led;
+
+	public GameModel(SongHandler sh, GameStateManager gsm, LedHandler led) {
 		this.gsm = gsm;
-		
-		for(int i = 1; i < ButtonHandler.getButtons().size(); i++){
-			ButtonHandler.getButtons().get(i).setColor(colors[i-1]);;
+		this.led = led;
+
+		for (int i = 1; i < ButtonHandler.getButtons().size(); i++) {
+			ButtonHandler.getButtons().get(i).setColor(colors[i - 1]);
+			;
 		}
 	}
-	
-	public void update(float factor){	
+
+	public void update(float factor) {
 		gsm.update(factor);
+
+		Color c = colors[(int) (Math.random() * (colors.length - 1) + 1)];
+
+		if (Window.ON_RASP) {
+			for (int i = 7; i < 54; i++) {
+				led.setLed(i, c.getRed(), c.getGreen(), c.getBlue());
+			}
+			led.show();
+		}
 	}
 }

+ 5 - 4
model/gameState/PlayState.java

@@ -66,8 +66,6 @@ public class PlayState extends GameState {
 		
 		ButtonHandler.getButton(1).setColor(sh.getCurrentSongInstance().getButtons().get(0).getColor());
 
-		// System.out.println("Diff" +
-		// sh.getCurrentSongInstance().getDifficulty());
 	}
 
 	@Override
@@ -78,8 +76,6 @@ public class PlayState extends GameState {
 		for (ButtonInstance bu : sh.getCurrentSongInstance().getButtonsBetween(oldProgress, progress)) {
 			Button b = ButtonHandler.getButton(bu.getButtonID());
 			b.setColor(bu.getColor());
-			// System.out.println(bu.getButtonID() + " - " + bu.getColor()+
-			// " / " + b.getColor());
 		}
 
 		for (ObjectInstance ob : sh.getCurrentSongInstance().getObjectsBetween(oldProgress, progress)) {
@@ -168,6 +164,11 @@ public class PlayState extends GameState {
 				lifePoints -= 1.5;
 			}
 		}
+		
+		if(e.getButton().getButtonID() == 0)
+		{
+			gsm.setState(State.MENU_STATE);
+		}
 	}
 
 	@Override