int PLANETS_AMOUNT_MIN = 50; int PLANETS_AMOUNT_MAX = 400; float PLANET_INITAL_SPEED_MAX = 1.05; float PLANET_INITAL_POS_RANGE = 150; boolean SAVE_FRAME = false; int SAVE_FRAME_EVERY_NTH=1; boolean SHOW_PLANET_AMOUNT = true; boolean fillPlanets=true; Vec lastAvCen = new Vec(); int planNr=0; Vector planets; Vector explosions; PFont font; int fCount=0; int tickTime=millis(); void setup() { size(720,576,P3D); noStroke(); planets = new Vector(); explosions = new Vector(); font = loadFont("SansSerif.bold-14.vlw"); textFont(font,14); ellipseMode(CENTER_RADIUS); } void draw() { // add planets if (fillPlanets) { if (random(1.0)<0.5) { Vec pos = new Vec(random(-PLANET_INITAL_POS_RANGE/2.0,PLANET_INITAL_POS_RANGE/2.0),random(-PLANET_INITAL_POS_RANGE/2.0,PLANET_INITAL_POS_RANGE/2.0),random(-PLANET_INITAL_POS_RANGE/2.0,PLANET_INITAL_POS_RANGE/2.0)); Vec mov = new Vec(pos); mov.setLen(PLANET_INITAL_SPEED_MAX); Planet p = new Planet(random(1,5),pos,mov); p.setG(0.005 * 100); planets.add(p); if (planets.size()>=PLANETS_AMOUNT_MAX) fillPlanets=false; } } // TICK PLANETS for (int i=0;i