package balloonpeople; import java.awt.Color; import java.util.Random; import painter.SPainter; import shapes.SCircle; public class BalloonPerson { private String name; private int age; private double height; private Color color; public BalloonPerson(String name, int age, double height) { this.name = name; this.age = age; this.height = height; this.color = randomColor(); } public String toString() { String representation = name + " is " + age + " years old and " + height + " inches tall."; return representation; } private static Color randomColor() { Random rgen = new Random(); int r = rgen.nextInt(256); int g = rgen.nextInt(256); int b = rgen.nextInt(256); return new Color(r, b, g); } public void paintOnePerson(SPainter klee) { // Since they are balloons, all body parts are circles. int headSize = (110); double bodySize = (height); double footSize = (height / 2.0); double armSize = footSize; klee.setColor(color); SCircle head = new SCircle(headSize); SCircle body = new SCircle(bodySize); SCircle foot = new SCircle(footSize); SCircle arm = new SCircle(armSize); paintHead(klee,head,bodySize); paintBody(klee,body); paintFeet(klee,foot,bodySize); paintArm(klee,arm,bodySize); } private void paintHead(SPainter klee, SCircle head, double bodySize) { klee.mfd(bodySize * 2); klee.paint(head); klee.mbk(bodySize * 2); klee.center(); } private void paintBody(SPainter klee, SCircle body) { klee.paint(body); klee.center(); } private void paintFeet(SPainter klee, SCircle foot, double bodySize) { klee.mbk(bodySize); klee.mlt(bodySize * 0.5); klee.paint(foot); klee.mrt(bodySize); klee.paint(foot); klee.center(); } private void paintArm(SPainter klee, SCircle arm, double bodySize) { klee.mlt(bodySize*1.95); klee.mfd(bodySize); klee.paint(arm); klee.mrt(bodySize*2.85); klee.paint(arm); klee.center(); } }