int PLANETS_AMOUNT_MIN = 50; int PLANETS_AMOUNT_MAX = 800; float PLANET_INITAL_SPEED_MAX = .55; float PLANET_INITAL_POS_RANGE = 700; boolean SAVE_FRAME = true; 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); for (int i=0;i<20;i++) { 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 = rndDirVec(random(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