/home/sjenks/NetBeansProjects/CS1/src/npw/Stella.java
 1 /*
 2  * Write a program that makes you create a decrementing square with two 
 3  * different alternating colors.  
 4  */
 5 package npw;
 6 
 7 import java.awt.Color;
 8 import java.util.Random;
 9 import java.util.Scanner;
10 import javax.swing.JOptionPane;
11 import painter.SPainter;
12 import shapes.SSquare;
13 
14 /**
15  *
16  * @author sjenks
17  */
18 public class Stella {
19 
20     /**
21      * @param args the command line arguments
22      */
23     public static void main(String[] args) {
24         int number = getNumber("Number of Squares");
25         SPainter painter = new SPainter("Stella", 800, 800);
26         int side = 700;
27         SSquare square = new SSquare(side);
28         int decrement = (side / number);
29         createDesign(square, painter, decrement, side);
30     }
31 
32     private static int getNumber(String prompt) {
33         String nss = JOptionPane.showInputDialog(null, prompt + "?");
34         Scanner scanner = new Scanner(nss);
35         return scanner.nextInt();
36     }
37 
38     private static void createDesign(SSquare square, SPainter painter, int decrement, int side) {
39         Color color1 = randomColor();
40         Color color2 = randomColor();
41         int i = 1;
42         while (square.side() > 0) {
43             if (isEven(i)) {
44                 painter.setColor(color1);
45                 painter.paint(square);
46                 square.shrink(decrement);
47 
48                 i = i + 1;
49             } else {
50                 painter.setColor(color2);
51                 painter.paint(square);
52                 square.shrink(decrement);
53                 i = i + 1;
54 
55             }
56         }
57     }
58 
59     private static Color randomColor() {
60         Random rgen = new Random();
61         int r = rgen.nextInt(256);
62         int g = rgen.nextInt(256);
63         int b = rgen.nextInt(256);
64         return new Color(r, b, g);
65     }
66 
67     private static boolean isEven(int i) {
68         return ((i % 2) == 0);
69     }
70 }
71