/home/sjenks/NetBeansProjects/CS1/src/npw/Stella.java |
1
2
3
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
17
18 public class Stella {
19
20
21 @param args
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