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 {

    private void paintTheImage() {
        //prompt user for amount of squares
        int nrOfSquares = getNumber("Number Of Squares");

        //creates painter, colors, and square
        SPainter painter = new SPainter("Stella", 800, 800);
        SSquare square = new SSquare(700);
        int squareOrig = (int)square.side();
        Color c1 = randomColor();
        Color c2 = randomColor();

        //paint the squares
        int counter = 0;
        while (counter < nrOfSquares){
            if (counter % 2 == 0){
                painter.setColor(c1);
                painter.paint(square);
                square.shrink((squareOrig / nrOfSquares));
                counter += 1;
            }else{
                painter.setColor(c2);
                painter.paint(square);
                square.shrink(squareOrig / nrOfSquares);
                counter += 1;
            }
        }
    }

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

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

    public Stella()
    {
        paintTheImage();
    }

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