From f9e6a90160346724e11f8ea9448553257268a022 Mon Sep 17 00:00:00 2001 From: Remco Date: Fri, 5 Jun 2015 12:45:09 +0200 Subject: [PATCH] fixed button collors in song --- audio/SongInstance.java | 24 ++++++++++-- model/drawObjects/Enemy.java | 2 +- model/gameState/PlayState.java | 68 ++++++++++++++++++++++------------ 3 files changed, 66 insertions(+), 28 deletions(-) diff --git a/audio/SongInstance.java b/audio/SongInstance.java index 5bed4ce..2b73dee 100644 --- a/audio/SongInstance.java +++ b/audio/SongInstance.java @@ -43,16 +43,34 @@ public class SongInstance { this.difficulty = difficulty; } - public List getBetween(long oldProgress, long progress) { + public List getObjectsBetween(long oldProgress, long progress) { List b = new ArrayList(); for(ObjectInstance i : objects) { - if(i.getTime() > progress) + if(i.getTime() >= progress) { return b; } - if(i.getTime() > oldProgress && i.getTime() <= progress) + if(i.getTime() >= oldProgress && i.getTime() < progress) + { + b.add(i); + } + } + + return b; + } + + public List getButtonsBetween(long oldProgress, long progress) { + List b = new ArrayList(); + + for(ButtonInstance i : buttons) + { + if(i.getTime() >= progress) + { + return b; + } + if(i.getTime() >= oldProgress && i.getTime() < progress) { b.add(i); } diff --git a/model/drawObjects/Enemy.java b/model/drawObjects/Enemy.java index 0507b36..c3790df 100644 --- a/model/drawObjects/Enemy.java +++ b/model/drawObjects/Enemy.java @@ -90,7 +90,7 @@ public class Enemy extends DrawObject { angleY = Math.sin(Math.toRadians(45))*distanceFromStart; // System.out.println(Math.toRadians(45)*distanceFromStart); - System.out.println(angleX+" - "+angleY); +// System.out.println(angleX+" - "+angleY); switch(index){ case 0: diff --git a/model/gameState/PlayState.java b/model/gameState/PlayState.java index 0f86a3d..0922d73 100644 --- a/model/gameState/PlayState.java +++ b/model/gameState/PlayState.java @@ -13,9 +13,12 @@ import model.drawObjects.Player; import model.objects.InfoPanel; import model.objects.Path; import model.objects.PlayArea; +import audio.ButtonInstance; import audio.ObjectInstance; import control.GameStateManager; +import control.button.Button; import control.button.ButtonEvent; +import control.button.ButtonHandler; import control.joystick.JoystickEvent; public class PlayState extends GameState { @@ -51,12 +54,36 @@ public class PlayState extends GameState { sh.stop(); sh.play(); + for(int i=1; i Enemy.distanceToOctagon+(sizeOfEnemy*1.5)){ + + if (e.getDistanceFromStart() > Enemy.distanceToOctagon + + (sizeOfEnemy * 1.5)) { enemyIterator.remove(); } - + e.update(factor); } } infoPanel.updateIPanel(); - - long progress = (long) ((sh.getProgress() / 1000) + (Enemy.secondsToEnd * 1000)); - - for (ObjectInstance ob : sh.getCurrentSongInstance().getBetween( - oldProgress, progress)) { - Path p = area.paths.get(ob.getDirection()); - p.addEnemy(ob.getColor(), ob.getDirection(), (int) ob.getLength()); - } - - oldProgress = progress; } @Override @@ -107,26 +125,28 @@ public class PlayState extends GameState { player.draw(g2); } catch (Exception e) { } - ; - } @Override public void buttonPressed(ButtonEvent e) { - Iterator enemysInPath = area.paths.get(player.getIndex()).getEnemysInPath().iterator(); - while(enemysInPath.hasNext()){ +// System.out.println(e.getButton().getColor()); + Iterator enemysInPath = area.paths.get(player.getIndex()) + .getEnemysInPath().iterator(); + while (enemysInPath.hasNext()) { Enemy enemy = enemysInPath.next(); - if(enemy.getDistanceFromStart() > Enemy.distanceToOctagon || enemy.getDistanceFromStart() > Enemy.distanceToOctagon+sizeOfEnemy) - { - if(e.getButton().getColor().equals(enemy.getColor())) - { - currentScore += enemy.getDistanceFromStart() - Enemy.distanceToOctagon; + if (enemy.getDistanceFromStart() > Enemy.distanceToOctagon + || enemy.getDistanceFromStart() > Enemy.distanceToOctagon + + sizeOfEnemy) { + if (e.getButton().getColor().equals(enemy.getColor())) { + currentScore += enemy.getDistanceFromStart() + - Enemy.distanceToOctagon; enemysInPath.remove(); + break; } } - + } - + } @Override