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() {
        int NumberOfSquare = getNumber("Number of Squares");
        SSquare square = new SSquare(700);
        SPainter painter = new SPainter("Square", 800, 800);
        paintsquares(painter, square, NumberOfSquare);
    }

    private int getNumber(String prompt) {
        String nss = JOptionPane.showInputDialog(prompt);
        Scanner scanner = new Scanner(nss);
        return scanner.nextInt();
    }

    private void paintsquares(SPainter painter, SSquare square, int n) {
        double number = 0;
        Color color1 = randomColor();
        Color color2 = randomColor();
        painter.setColor(color1);
        while (number < n) {
            painter.paint(square);
            square.shrink(700.0 / n);
            if (painter.color == color1) {
                painter.setColor(color2);
            } else {
                painter.setColor(color1);
            }
            number = number + 1;
        }
    }

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