Stella.java
package npw;

import painter.SPainter;
import shapes.SSquare;

import javax.swing.*;
import java.awt.*;
import java.util.Random;
import java.util.Scanner;

public class Stella {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new Stella();
            }
        });
    }

    public Stella() {
        paintTheImage();
    }

    private void paintTheImage() {
        int numSquares = getNumber("How many concentric squares?");
        SPainter painter = new SPainter("Stella", 800, 800);
        paintThePicture(painter, numSquares);
    }

    private static int getNumber(String prompt) {
        String nss = JOptionPane.showInputDialog(null, prompt + "?");
        Scanner scanner = new Scanner(nss);
        return scanner.nextInt();
    }

    private void paintThePicture(SPainter painter, int numSquares) {
        int side = 700;
        Color colorA = randomColor();
        Color colorB = randomColor();
        int i = 0;
        while (i < numSquares) {
            painter.setColor(colorA);
            SSquare squareA = new SSquare(side);
            painter.paint(squareA);
            side = side - (side / numSquares);
            painter.setColor(colorB);
            SSquare squareB = new SSquare(side);
            painter.paint(squareB);
            side = side - (side / numSquares);
            i = i + 1;
        }
    }

    private static Color randomColor() {
        for (int i = 0; i < 2; i = i + 1) {
            Random rn = new Random();
            int r = rn.nextInt(256);
            int g = rn.nextInt(256);
            int b = rn.nextInt(256);
            return new Color(r, g, b);
        }
        return null;
    }
}