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; 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(PlayState.lastScoreChange); iterations.add(0); } @Override public void draw(Graphics2D g2) { for (int x = 0; x < puntenPos.size(); x++) { 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); } } } }