public void moveParticles(int xDiff, int yDiff) {
        for (int i = 0; i < particles.size(); i++) {
            int angle = randomDouble(0,360);
            double radians = angle*Math.PI/180;
            int magnitude = randomDouble(-1*OFFSET, OFFSET);
            
            particles.get(i).point.x += xDiff + Math.cos(radians)*magnitude;
            particles.get(i).point.y += yDiff + Math.sin(radians)*magnitude;
        }
        int rm = 0;
        for (int i = 0; i < particles.size(); i++) {
            if (particles.get(i).point.x >= Gui.DIM_X || particles.get(i).point.x <= 0 || particles.get(i).point.y >= Gui.DIM_Y || particles.get(i).point.y <= 0) {
                //particles.get(i).point.x = randomDouble(20,Gui.DIM_X);
                particles.remove(i);
                i--;
                rm++;
            }

        }
        List<Particle> np = new ArrayList<Particle>();
        while (rm > 0) {
            for (int i = 0; i != particles.size(); i++) {
                if (rm <= 0) {
                    break;
                }
                np.add(new Particle(particles.get(i).point.x, particles.get(i).point.y));
                rm--;
            }
        }
        this.particles.addAll(np);
    }