/home/evankemp/NetBeansProjects/CS1/src/npw/Invention1.java |
1
2
3
4 package npw;
5
6 import java.awt.Color;
7 import painter.SPainter;
8 import shapes.SCircle;
9 import shapes.SSquare;
10
11
12
13 @author
14
15 public class Invention1 {
16
17
18 @param args
19
20 public static void main(String[] args) {
21 int nrOfRows = 10;
22 int nrOfColumns = 9;
23 int circleRadius = 50;
24
25 int height = nrOfRows * circleRadius * 2;
26 int width = nrOfColumns * circleRadius * 4;
27
28 SPainter me = new SPainter("Invention1", width + circleRadius, height + circleRadius);
29 SCircle circle = new SCircle(circleRadius);
30
31 paintTheImage(nrOfRows, nrOfColumns, me, circle);
32 }
33
34 private static void paintTheImage(int nrOfRows, int nrOfColumns, SPainter me, SCircle circle) {
35
36 me.mlt(((2 * nrOfColumns - 1) / 2.0) * circle.diameter());
37 me.mbk(((nrOfRows - 1) / 2.0) * circle.diameter());
38
39 int i = 1;
40 while (i <= nrOfRows) {
41 paintOneRow(me, nrOfColumns, circle);
42 me.mfd(circle.diameter());
43 i = i + 1;
44 }
45
46 me.mrt(((nrOfColumns - 1) / 2.0) * circle.diameter());
47 me.mfd(((nrOfRows - 1) / 2.0) * circle.diameter());
48 }
49
50 private static void paintOneRow(SPainter me, int nrOfColumns, SCircle circle) {
51 int i = 1;
52 while (i <= nrOfColumns) {
53 paintOnePattern(me, circle, nrOfColumns);
54 me.mrt(circle.diameter());
55 i = i + 1;
56 }
57 me.mlt(nrOfColumns * circle.diameter() * 2);
58 }
59
60 private static void paintOnePattern(SPainter me, SCircle circle, int nrOfColumns) {
61 SSquare square = circle.inscribingSquare();
62 me.setColor(new Color(102, 0, 0));
63 me.paint(circle);
64 me.setColor(Color.BLACK);
65 me.setBrushWidth(3);
66 me.draw(circle);
67 int i = 1;
68 while (i < 3) {
69 if (i % 2 == 0) {
70 me.mrt(circle.diameter());
71 me.setColor(new Color(255, 204, 204));
72 square.s2();
73 me.tr(45);
74 me.paint(square);
75 me.draw(circle);
76 me.setColor(new Color(204, 102, 0));
77 me.draw(square);
78 me.tl(45);
79 circle.s5();
80 me.paint(circle);
81 me.setColor(new Color(102, 0, 0));
82 me.draw(circle);
83 square.x2();
84 circle.x5();
85 } else {
86 me.setColor(new Color(255, 204, 204));
87 square.s2();
88 me.paint(square);
89 me.draw(circle);
90 me.setColor(new Color(204, 102, 0));
91 me.draw(square);
92 circle.s5();
93 me.paint(circle);
94 me.setColor(new Color(102, 0, 0));
95 me.draw(circle);
96 square.x2();
97 circle.x5();
98 }
99 i = i + 1;
100 }
101 }
102
103 }
104