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); } }