package npw; import painter.SPainter; import shapes.SSquare; import javax.swing.*; import java.awt.*; import java.util.Random; import java.util.Scanner; import static javax.swing.SwingUtilities.*; public class Stella { private Stella() { paintTheImage(); } private void paintTheImage() { int numOfSquares = getNumber("How many Squares"); int height = 800; int width = height; int side = height - 100; int factor = side / numOfSquares; SPainter painter = new SPainter("Stella", height, width); SSquare square = new SSquare(side); drawSquare(painter, numOfSquares, factor, square); } private void drawSquare(SPainter painter, int numOfSquares, int factor, SSquare square) { boolean switchColor = true; Color randomColor1 = randomColor(); Color randomColor2 = randomColor(); for (int i = 0; i < numOfSquares; i = i + 1) { if (switchColor == true) { painter.setColor(randomColor1); painter.paint(square); square.shrink(factor); switchColor = false; } else { painter.setColor(randomColor2); painter.paint(square); square.shrink(factor); switchColor = 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); } private int getNumber(String prompt) { String nss = JOptionPane.showInputDialog(null, prompt + "?"); Scanner scanner = new Scanner(nss); return scanner.nextInt(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new Stella(); } }) ;} }