From 68f5f2392c9d1e6e7d5682fbf702e03835974d27 Mon Sep 17 00:00:00 2001 From: Bilel Bghiel Date: Thu, 11 Jun 2015 21:23:02 +0200 Subject: [PATCH] - mooiere afdaling. - scorebar vult pas nadat muntje 'erin valt' --- model/drawObjects/CoinAnimation.java | 19 ++++++++++--------- model/gameState/GameOverState.java | 3 +-- model/objects/InfoPanel.java | 21 +++++++++++++-------- 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/model/drawObjects/CoinAnimation.java b/model/drawObjects/CoinAnimation.java index 3ab2318..13c667e 100644 --- a/model/drawObjects/CoinAnimation.java +++ b/model/drawObjects/CoinAnimation.java @@ -1,12 +1,8 @@ package model.drawObjects; -import javax.imageio.ImageIO; + import java.awt.*; import java.awt.geom.Ellipse2D; import java.awt.geom.Point2D; -import java.awt.geom.Rectangle2D; -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; /** * Created by Bilel on 4-6-2015. @@ -24,6 +20,7 @@ public class CoinAnimation extends DrawObject { coinShape = new Ellipse2D.Double(startX, startY, 20, 20); } + // Start public void start() { timerLoops = 1; } @@ -34,7 +31,6 @@ public class CoinAnimation extends DrawObject { g2.draw(coinShape); // MUNTJE TEKENEN g2.fill(coinShape); update(timerLoops); // UPDATE - } // Wordt na elke paint aangeroepen @@ -45,20 +41,25 @@ public class CoinAnimation extends DrawObject { return; } - // Frame steeds aanpassen aan locatie van coin (Zodat hele coin wel te zien blijft) + // Coin omlaag verschuiven doordat Y * loops omlaag gaat coinShape.setFrame(coinSetPoint.getX(), coinSetPoint.getY() + 10 * timerLoops, coinShape.getWidth(), coinShape.getHeight()); timerLoops++; - } + // Zijn we al begonnen/klaar? public boolean areWeDoneYet() { - System.out.println(timerLoops); if (timerLoops > 50 || timerLoops == 0) { timerLoops = 0; return true; } + return false; + } + + public boolean isLastLoop() { + if (timerLoops == 49) + return true; return false; } diff --git a/model/gameState/GameOverState.java b/model/gameState/GameOverState.java index 7dbb805..3af5047 100644 --- a/model/gameState/GameOverState.java +++ b/model/gameState/GameOverState.java @@ -23,8 +23,7 @@ public class GameOverState extends GameState { BufferedImage gameOver = Images.getImage(ImageType.gameover); VolatileImage background; Font textFont = new Font("OCR A Extended", Font.BOLD, 70); - - + private String endScore = ""; int frame; diff --git a/model/objects/InfoPanel.java b/model/objects/InfoPanel.java index 7712426..1604bcf 100644 --- a/model/objects/InfoPanel.java +++ b/model/objects/InfoPanel.java @@ -21,7 +21,9 @@ public class InfoPanel { private SongHandler sh; private String time; - private CoinAnimation coinAnimation = new CoinAnimation(125, 200); + private int tempComboScore; + + private CoinAnimation coinAnimation = new CoinAnimation(125, 250); public InfoPanel(int x, int y, SongHandler sh){ this.x = x; @@ -68,25 +70,28 @@ public class InfoPanel { g2.drawString("Score: " + totalHighscore, 25, 75); g2.drawRect(25, 100, 200, 30); g2.drawRect(25, 300, 200, 700); - g2.drawString(sh.getCurrentSong().getTitle(), 25, 200); - if(sh.getCurrentSong().getSubtitle() != "") - { + + if(sh.getCurrentSong().getSubtitle() != "") { g2.drawString(sh.getCurrentSong().getSubtitle(), 25, 230); g2.drawString(sh.getCurrentSong().getAuthor(), 25, 260); g2.drawString(time, 25, 290); } - else - { + else { g2.drawString(sh.getCurrentSong().getAuthor(), 25, 230); g2.drawString(time, 25, 260); } - if (!coinAnimation.areWeDoneYet()) + if (!coinAnimation.areWeDoneYet()) { coinAnimation.draw(g2); + if (coinAnimation.isLastLoop()) + tempComboScore = PlayState.comboScore; + } + + g2.fillRect(25, 1000 - 7 * tempComboScore, 200, 7 * tempComboScore); g2.setColor(Color.YELLOW); - g2.fillRect(25, 1000 - 7 * PlayState.comboScore, 200, 0 + 7 * PlayState.comboScore); + g2.dispose(); infoPanel.createGraphics(); }