package balloonpeople; import painter.SPainter; import shapes.SCircle; import java.awt.*; import java.util.Random; 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(); } private Color randomColor() { Random randColor = new Random(); int r = randColor.nextInt(256); int g = randColor.nextInt(256); int b = randColor.nextInt(256); return new Color(r, g, b); } public String toString() { return name + " is " + age + " years old, is " + height + " inches tall, and has the color: " + color + "."; } public void paintPerson(SPainter painter) { double calcHeight = (height * 10); double footRadius = 25; double bodyRadius = 50; double armRadius = (0.5 * bodyRadius); double headRadius = 40; double earRadius = (0.25 * headRadius); painter.setColor(color); painter.mbk(400); painter.mfd(footRadius); paintFeet(painter, footRadius); painter.mfd((0.5 * calcHeight) - footRadius); paintBody(painter, bodyRadius, armRadius); painter.mfd((0.5* calcHeight) - headRadius); paintHead(painter, headRadius, earRadius); painter.mfd((400 - calcHeight) + headRadius); } private void paintFeet(SPainter painter, double footRadius) { SCircle foot = new SCircle(footRadius); painter.mrt(foot.diameter()); painter.paint(foot); painter.mlt(2 * foot.diameter()); painter.paint(foot); painter.mrt(foot.diameter()); } private void paintBody(SPainter painter, double bodyRadius, double armRadius) { SCircle body = new SCircle(bodyRadius); SCircle arm = new SCircle(armRadius); painter.paint(body); painter.mrt(body.diameter()); painter.paint(arm); painter.mlt(2 * body.diameter()); painter.paint(arm); painter.mrt(body.diameter()); } private void paintHead(SPainter painter, double headRadius, double earRadius) { SCircle head = new SCircle(headRadius); SCircle ear = new SCircle(earRadius); painter.paint(head); painter.mrt(head.radius()); painter.paint(ear); painter.mlt(head.diameter()); painter.paint(ear); painter.mrt(head.radius()); } }