BalloonPerson.java
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 " + height + " inches tall " + age + " years old, 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(300);
        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((500 - 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());
    }
}