// The Nature of Code // Daniel Shiffman // http://natureofcode.com class ParticleSystem { ArrayList particles; PVector origin; ParticleSystem(PVector location) { origin = location.get(); particles = new ArrayList(); } void addParticle() { float r = random(1); if (r < 0.5) { particles.add(new Particle(origin)); } else { particles.add(new ParticleChild(origin)); } } void run() { for (int i = particles.size()-1; i >= 0; i--) { Particle p = particles.get(i); p.run(); if (p.isDead()) { particles.remove(i); } } } }