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() {
            paintTheImange();
        }
    private static int getNumber(String prompt) {
        String nss = JOptionPane.showInputDialog( null, prompt + "?" );
        Scanner scanner = new Scanner( nss );
        return scanner.nextInt();
    }
    private void paintTheImange() {
        int nrOfsquare = getNumber( "Number of Squares?" );
        int squareSide = 700;
        int shrink = squareSide / nrOfsquare;
        SPainter painter = new SPainter( "Stella", 800, 800 );
        SSquare square = new SSquare( squareSide );
        drawSquare( painter, nrOfsquare, shrink, square );
    }
    private void drawSquare(SPainter painter, int numOfSquares, int S, SSquare square) {
        boolean k = true;
        Color randomColor1 = randomColor();
        Color randomColor2 = randomColor();
        for (int i = 0; i < numOfSquares; i++) {
            if (k == true) {
                painter.setColor( randomColor1 );
                painter.paint( square );
                square.shrink( S );
                k = false;
            } else {
                painter.setColor( randomColor2 );
                painter.paint( square );
                square.shrink(S );
                k = true;
            }
        }
    }
    private Color randomColor() {
        Random rgen = new Random();
        int r = rgen.nextInt( 255 );
        int g = rgen.nextInt( 255 );
        int b = rgen.nextInt( 255 );
        return new Color( r, g, b );
    }
}