// Box containing moving Ball objects class Box { // Attributes float x, y; // location of top-left corner of box float w, h; // width and height of box int nBalls; // # of balls in box Ball[] balls; // all ball objects (nBalls) in box // Constructors Box(float _x, float _y, float _w, float _h, int n) { x = _x; y = _y; w = _w; h = _h; nBalls = n; // Create the balls array to contains nBalls objects balls = new Ball[nBalls]; // Create nBalls Ball objects for (int i=0; i < nBalls; i++) { balls[i] = new Ball(random(w), random(h), 2, color(0), this); } } // Box() // accessors float getWidth() { return this.w; } float getHeight() { return this.h; } // Behaviors void display() { pushMatrix(); translate(x, y); // Draw the box at <x, y> of width w, heighht, h stroke(0); fill(255); rect(0, 0, w, h); // Draw all the balls in the box for (int i=0; i < balls.length; i++) { balls[i].display(); } popMatrix(); } // display() void update() { for (int i=0; i < balls.length; i++) { balls[i].move(); } } // update() } // class Box