From a855764ee6163274430743131d5c717f9c0acab2 Mon Sep 17 00:00:00 2001 From: Bilel Bghiel Date: Sat, 20 Jun 2015 13:24:49 +0200 Subject: [PATCH] - Duidelijkere score (punten beloning * multiplier) - Score animatie bij het balletje waar je punten mee scoort --- model/drawObjects/PointAnimation.java | 56 +++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 model/drawObjects/PointAnimation.java diff --git a/model/drawObjects/PointAnimation.java b/model/drawObjects/PointAnimation.java new file mode 100644 index 0000000..5bbbc7e --- /dev/null +++ b/model/drawObjects/PointAnimation.java @@ -0,0 +1,56 @@ +package model.drawObjects; + +import model.gameState.PlayState; + +import java.awt.*; +import java.awt.geom.Point2D; +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<>(); + + public PointAnimation() { + + } + + public void enemyDied(Point2D.Double p) { + puntenPos.add(new Point2D.Double(p.getX(), p.getY())); + puntenGain.add(new Integer(PlayState.lastScoreChange)); + iterations.add(0); + } + + @Override + public void draw(Graphics2D g2) { + for (int x = 0; x < puntenPos.size(); x++) { + Font scoreFont = new Font("OCR A Extended", Font.BOLD, 40); + g2.setFont(scoreFont); + g2.drawString("" + puntenGain.get(x), (int) puntenPos.get(x).getX(), (int) puntenPos.get(x).getY()); + + update(0); + } + } + + @Override + public void update(float factor) { + + for (int x = 0; x < puntenPos.size(); x++) { + puntenPos.get(x).setLocation(puntenPos.get(x).getX(), puntenPos.get(x).getY() - 3); + iterations.set(x, iterations.get(x) + 1); + + if (iterations.get(x) > 100) { + puntenPos.remove(x); + iterations.remove(x); + puntenGain.remove(x); + System.out.println("removed"); + } + } + } +}