oooooh, how exciting. Here we have some particle objects (called p) some of these are built and added to a global array (gParitcle). draw() then loops through the particle array, moving and drawing each one.
Each particle has life energy, this is reduced by one every time we move it, so it is slowly dieing. But it's ok! When it gets too tired for life, we give it a kick of enery.
The particles are affected by gravity and the box they live in.