SnowPerson.java
package snowpeople;

import painter.SPainter;
import shapes.SCircle;

import java.awt.*;
import java.util.Random;

public class SnowPerson {
    private String name;
    private int height;
    private int numberOfButtons;

    public SnowPerson(String name, int height, int numberOfButtons){
        this.name = name;
        this.height = height;
        this.numberOfButtons = numberOfButtons;
    }

    //returns a string with the snow person’s name, height, and number of buttons formatted in a nice way.
    @Override
    public String toString() {
        return "Name: " + name + " Height: " + height + " Number of buttons: " + numberOfButtons;
    }

    //Add a method called paint to your SnowPerson class which takes as an argument an SPainter. In this method, paint your snow person. Make use of (at least)
    // the defined height. You may use only circles for drawing the snow person Use your imagination – yours doesn’t have to look like mine! Be sure to use
    // good practices as far as problem decomposition and invariance.
    public void paint(SPainter painter){
        //getting the height of each circles
        double topCircleDiameter;
        topCircleDiameter = height/6.0;
        double middleCircleDiameter = height/3.0;
        double bottomCircleDiameter = height/2.0;
        double buttonDiameter = middleCircleDiameter / 10;

        //setting the color to random
        painter.setColor(Color.green);

        //painting top circle
        SCircle topCircle = new SCircle(topCircleDiameter/2);
        painter.paint(topCircle);

        //painting middle circle
        painter.mbk(topCircleDiameter + 15);
        SCircle middleCircle = new SCircle(middleCircleDiameter/2);
        painter.paint(middleCircle);

        //painting buttons
        painter.setColor(Color.black);
        SCircle buttons = new SCircle(buttonDiameter);
        painter.mfd(((buttonDiameter)* numberOfButtons) - 5 );
        for (int i = 0; i < numberOfButtons; i = i + 1){
            painter.paint(buttons);
            painter.mbk((buttonDiameter + 10));
        }

        //painting bottom circle
        painter.setColor(Color.green);
        painter.mbk(middleCircleDiameter - 13);
        SCircle bottomCircle = new SCircle(bottomCircleDiameter/2);
        painter.paint(bottomCircle);

    }
    public  double height(){
        return height;
    }

    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,g,b);
    }
}