BalloonPerson.java
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();
    }

}