From a3069af5c0880b00e01bb9fc7497fca15390cf1c Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Mon, 8 Jun 2015 12:50:51 +0200 Subject: [PATCH] Bugfix things --- control/GameControl.java | 19 ++++++++++++++---- control/LedHandler.java | 5 +---- main/Window.java | 2 +- model/GameModel.java | 35 +++++++++++++++++++++++----------- model/gameState/PlayState.java | 9 +++++---- 5 files changed, 46 insertions(+), 24 deletions(-) diff --git a/control/GameControl.java b/control/GameControl.java index ae27a28..c7de9d5 100644 --- a/control/GameControl.java +++ b/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 diff --git a/control/LedHandler.java b/control/LedHandler.java index d2904d1..5ff3c59 100644 --- a/control/LedHandler.java +++ b/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(); diff --git a/main/Window.java b/main/Window.java index b1c6d7f..51661d8 100644 --- a/main/Window.java +++ b/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); diff --git a/model/GameModel.java b/model/GameModel.java index 21e3de4..ed1ebd6 100644 --- a/model/GameModel.java +++ b/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(); + } } } diff --git a/model/gameState/PlayState.java b/model/gameState/PlayState.java index eb91dd6..5a71a1a 100644 --- a/model/gameState/PlayState.java +++ b/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