class Plum { ArrayList a; float j = 0; int branchCounter = 0; Plum() { a = new ArrayList(); PlumBranch b = new PlumBranch(new Vector3D(100,500),new Vector3D(0f,-0.5f),300f); a.add(b); } void go() { for (int i = a.size()-1; i >= 0; i--) { PlumBranch b = (PlumBranch) a.get(i); b.update(); b.render(random(15,20)-j); j= j+0.00055; if (b.timeToBranch()) { branchCounter = branchCounter +1; if (branchCounter>64){ createBlossom(b.loc); } if (a.size() < 1024) { a.add(b.plumBranch( 45f)); // Add one going right a.add(b.plumBranch(-30f)); // Add one going left } } } } void createBlossom ( Vector3D loc ) { Blossom new_blossom = new Blossom(loc); blossoms.add(new_blossom); } }