// Decomposing squares into smaller reusable units import java.awt.*; public class Square4World extends BuggleWorld { public void run () { Square4Buggle becky = new Square4Buggle(); becky.setPosition(new Point(4,2)); Square4Buggle bobby = new Square4Buggle(); bobby.setColor(Color.blue); becky.square(2); // becky draws a square 2 steps on each side: bobby.square(6); // bobby draws a square 6 steps on each side: Square4Buggle bonnie = new Square4Buggle(); bonnie.setColor(Color.green); bonnie.setPosition(new Point(8,1)); bonnie.left(); bonnie.corner(7); //bonnie draws a corner shape } } class Square4Buggle extends Buggle { public void square (int steps) { //draw a square this.corner(steps); this.corner(steps); } public void corner (int steps) { //draw a corner this.side(steps); this.side(steps); } public void side (int steps) { //draw a side this.forward(steps); this.left(); } }