From 93e4cb3d6ee03f0560bde4ddf5045dc1ae6ef9cd Mon Sep 17 00:00:00 2001 From: Bilel Bghiel Date: Sun, 21 Jun 2015 01:59:22 +0200 Subject: [PATCH] - Bugs en verbeteringen --- model/drawObjects/CoinAnimation.java | 24 +++++++++++------------- model/drawObjects/PointAnimation.java | 11 ++++------- model/gameState/GameState.java | 2 -- model/gameState/PlayState.java | 18 +++++++++--------- model/gameState/TitleState.java | 4 ++-- model/objects/InfoPanel.java | 8 ++++---- model/objects/PlayArea.java | 1 - 7 files changed, 30 insertions(+), 38 deletions(-) diff --git a/model/drawObjects/CoinAnimation.java b/model/drawObjects/CoinAnimation.java index 10a1a9a..3d07723 100644 --- a/model/drawObjects/CoinAnimation.java +++ b/model/drawObjects/CoinAnimation.java @@ -8,12 +8,16 @@ import java.awt.geom.Point2D; import java.io.IOException; /** - * Created by Bilel on 4-6-2015. - * * CoinAnimation klasse: Weergeeft een balletje (resembleerd een muntje) dat omlaag valt. * Je hoeft alleen achter elkaar de paint(Graphics2D) methode aan te roepen, deze roep automatisch een 'reposition' aan, * waardoor je het balletje alleen snel achter elkaar hoeft te repainten. - */ + * + * * Init (startX, startY): Punt waar de animatie begint met vallen + * + * start(): aanroepen om te starten + * * + * * + **/ public class CoinAnimation extends DrawObject { private Ellipse2D coinShape; @@ -33,26 +37,20 @@ public class CoinAnimation extends DrawObject { } public void draw(Graphics2D g2) { - update(timerLoops); // UPDATE g2.setColor(new Color(255, 255, 0)); // GEEL g2.draw(coinShape); // MUNTJE TEKENEN g2.fill(coinShape); + System.out.println("ok"); } // Wordt na elke paint aangeroepen public void update(float factor) { - // Alleen tekenen wanner de animatie ingesteld is om te tekenen (zie: areWeDoneYet()), anders doei. - if (areWeDoneYet()) { - System.out.println("Call initCoin(int startX, startY) first!"); - return; - } - // Coin omlaag verschuiven doordat Y * loops omlaag gaat. // Per frame verschuift het balletje delta 10 op Y-as. try { - coinShape.setFrame(coinSetPoint.getX(), coinSetPoint.getY() + (1000 - 35 * PlayState.comboMulitplier) / 20 * timerLoops, + coinShape.setFrame(coinSetPoint.getX(), coinSetPoint.getY() + (1000 - 35 * PlayState.comboMulitplier) / 25 * timerLoops, coinShape.getWidth(), coinShape.getHeight()); } catch (ArithmeticException a) { a.printStackTrace(); } @@ -61,7 +59,7 @@ public class CoinAnimation extends DrawObject { // Zijn we al begonnen/klaar? public boolean areWeDoneYet() { - if (timerLoops > 19 || timerLoops == 0) { + if (timerLoops > 24 || timerLoops == 0) { timerLoops = 0; return true; } @@ -69,6 +67,6 @@ public class CoinAnimation extends DrawObject { } // Zitten we in de laatste loop? - public boolean isLastLoop() { return (timerLoops == 49) ? true : false; } + public boolean isLastLoop() { return (timerLoops == 24) ? true : false; } } \ No newline at end of file diff --git a/model/drawObjects/PointAnimation.java b/model/drawObjects/PointAnimation.java index 2ba2e55..748123b 100644 --- a/model/drawObjects/PointAnimation.java +++ b/model/drawObjects/PointAnimation.java @@ -8,20 +8,17 @@ import java.util.HashMap; import java.util.LinkedHashMap; import java.util.LinkedList; -/** - * Created by Bilel on 20-6-2015. - */ public class PointAnimation extends DrawObject { - LinkedList puntenPos = new LinkedList<>(); - LinkedList puntenGain = new LinkedList<>(); - LinkedList iterations = new LinkedList<>(); + LinkedList puntenPos = new LinkedList<>(); + LinkedList puntenGain = new LinkedList<>(); + LinkedList iterations = new LinkedList<>(); public PointAnimation() { } public void enemyDied(Point2D.Double p) { puntenPos.add(new Point2D.Double(p.getX(), p.getY())); - puntenGain.add(new Integer(PlayState.lastScoreChange)); + puntenGain.add(PlayState.lastScoreChange); iterations.add(0); } diff --git a/model/gameState/GameState.java b/model/gameState/GameState.java index 5be66ea..402dfe2 100644 --- a/model/gameState/GameState.java +++ b/model/gameState/GameState.java @@ -18,8 +18,6 @@ public abstract class GameState { this.gsm = gsm; this.sh = sh; this.sql = sql; - - int kleurButton1 = 0; } public abstract void init(); diff --git a/model/gameState/PlayState.java b/model/gameState/PlayState.java index 605afe0..8892b85 100644 --- a/model/gameState/PlayState.java +++ b/model/gameState/PlayState.java @@ -37,7 +37,7 @@ public class PlayState extends GameState { public static int sizeOfEnemy = 40; public static int currentScore = 0; - public static int comboMulitplier = 1; + public static int comboMulitplier = 0; public static int lastScoreChange = 0; public static int sinceScoreChanged = 75; public static double lifePoints = 100; @@ -120,7 +120,7 @@ public class PlayState extends GameState { lastScoreChange = -5; lifePoints -= lastScoreChange; sinceScoreChanged = 1; - comboMulitplier = 1; + comboMulitplier = 0; enemies_missed++; } if(closedEnemy == null) @@ -133,15 +133,13 @@ public class PlayState extends GameState { } lifePoints -= 0.002 * factor; - infoPanel.updateIPanel(); - - if(lifePoints <= 0) { // STERF! - currentScore = 0; comboMulitplier = 0; endGame(); - } + + if(lifePoints <= 0) // STERF! + endGame(); if(comboMulitplier >= 20) { // '20' hit streak voor bonuspunten - comboMulitplier = 1; + comboMulitplier = 0; sinceScoreChanged = 1; lastScoreChange = 500; currentScore += lastScoreChange; @@ -160,6 +158,8 @@ public class PlayState extends GameState { sql.addPlaydata(sh.getCurrentSong(), sh.getCurrentSongInstance(), sh.getProgress()/1000, enemies_missed, enemies_hit, buttons_pressed, joystick_moved); sh.getCurrentSongInstance().played(); } + + comboMulitplier = 0; if(currentScore == 0) gsm.setState(State.MENU_STATE); @@ -212,9 +212,9 @@ public class PlayState extends GameState { Enemy enemy = enemysInPath.next(); if (enemy.getDistanceFromStart() > Enemy.distanceToOctagon || enemy.getDistanceFromStart() > Enemy.distanceToOctagon + sizeOfEnemy) { if (e.getButton().getColor().equals(enemy.getColor())) { + comboMulitplier++; lastScoreChange = 5 * comboMulitplier; currentScore += lastScoreChange; - comboMulitplier++; sinceScoreChanged = 1; area.enemyDied((Point2D.Double) enemy.getEnemy().getP1()); lifePoints = Math.min(lifePoints+10, 100); diff --git a/model/gameState/TitleState.java b/model/gameState/TitleState.java index 8714004..a18fc98 100644 --- a/model/gameState/TitleState.java +++ b/model/gameState/TitleState.java @@ -34,9 +34,9 @@ public class TitleState extends GameState { private int index = 0, varx = 0, - frame, indexKast = 0, - xKast = 0; + xKast = 0, + frame; public TitleState(GameStateManager gsm, SongHandler sh, SQLConnector sql){ super(gsm, sh, sql); diff --git a/model/objects/InfoPanel.java b/model/objects/InfoPanel.java index 41bc81c..36f448f 100644 --- a/model/objects/InfoPanel.java +++ b/model/objects/InfoPanel.java @@ -19,7 +19,7 @@ public class InfoPanel { private SongHandler sh; private String time; - private int tempComboScore; + private int tempComboMulitplier; private CoinAnimation coinAnimation = new CoinAnimation(125, 300); @@ -89,16 +89,16 @@ public class InfoPanel { coinAnimation.draw(g2); // Score pas updaten wanneer coin in zijn laatste draw loop zit if (coinAnimation.isLastLoop()) - tempComboScore = PlayState.currentScore; + tempComboMulitplier = PlayState.comboMulitplier; } else - tempComboScore = PlayState.currentScore; + tempComboMulitplier = PlayState.comboMulitplier; g2.drawString(sh.getCurrentSongInstance().getDifficulty(), 25, 230); g2.drawString(sh.getCurrentSong().getAuthor(), 25, 260); g2.drawString(time, 25, 290); g2.setColor(Color.YELLOW); - g2.fillRect(25, (int)(1000 - PlayState.comboMulitplier * 35), 200, 35 * ((int)PlayState.comboMulitplier)); + g2.fillRect(25, 1000 - tempComboMulitplier * 35, 200, 35 * tempComboMulitplier); g2.dispose(); infoPanel.createGraphics(); } diff --git a/model/objects/PlayArea.java b/model/objects/PlayArea.java index e133e8d..412a041 100644 --- a/model/objects/PlayArea.java +++ b/model/objects/PlayArea.java @@ -121,7 +121,6 @@ public class PlayArea { return paths.get(index); } - public void setHitAreaColor(Color color) { hitAreaColor = color;