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 width = 800;
        int height = 800;
        int nrOfSquares = getNumber("how many squares");

        SPainter painter = new SPainter("Stella", width, height);
        SSquare square = new SSquare(700);

        paintStella(painter, square, height, width, nrOfSquares);

    }

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

    private void paintStella(SPainter painter, SSquare square, int height, int width, int nrOfSquares) {
        Color color1 = randomColor();
        Color color2 = randomColor();
        painter.setColor(color2);
        painter.paint(square);
        int a = 700 / nrOfSquares;
        for (int i = 0; i <= nrOfSquares; i = i + 1) {
            square.resetSide((int) square.side() - a);
            if ( i % 2 == 0 ) {
                painter.setColor(color1);
            }
            else {
                painter.setColor(color2);
            }
            painter.paint(square);
        }

    }

    private Color randomColor() {
        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);
    }

}