class Tree { Lsystem ls = new Lsystem("FF"); RuleSet rs = new RuleSet(); float unitsize = -5 - random(25); float anglechange; int value = 0; Tree() { String[] rax = { "FF-[-F+F+F-]+[+F-F-F+]:90", "++:5", "--:5" }; Rule r1 = new Rule("F", rax); rs.addRule(r1); ls.registerRuleSet(rs); ls.recurse(2); // make sure they start with an F - ie fix the probability here... while (ls.getAxiom().charAt(0) != 'F') { ls.addStartF(); } ls.setUnitsize(this.unitsize); ls.setAnglechange(gAnglechange); }; void draw() { float ac = (gAnglechange * gGlobalAngleNess) + (this.anglechange * (1 - gGlobalAngleNess)); ls.setAnglechange(ac); ls.render(); }; }