/home/sjenks/NetBeansProjects/CS1/src/npw/Invention1.java |
1
2
3
4
5 package npw;
6
7 import painter.SPainter;
8 import shapes.SCircle;
9 import shapes.SSquare;
10 import java.awt.Color;
11 import java.util.Scanner;
12 import javax.swing.JOptionPane;
13
14
15
16 @author
17
18 public class Invention1 {
19
20
21 @param args
22
23 public static void main(String[] args) {
24
25 int side = 50;
26 int radius = 25;
27 SSquare square = new SSquare(side);
28 SCircle circle = new SCircle(radius);
29 int nrOfRows = 5;
30 int nrOfColumns = 20;
31 int height = nrOfRows * (2 * radius);
32 int width = nrOfColumns * (2 * radius);
33 SPainter painter = new SPainter("Invention1", width + 50, height + 50);
34 paintRectangle(painter, square, circle, nrOfRows, nrOfColumns);
35
36 }
37
38 private static void paintRectangle(SPainter painter, SSquare square, SCircle circle, int nrOfRows, int nrOfColumns) {
39
40 painter.mlt(((nrOfColumns - 1) / 2.0) * square.side());
41 painter.mbk(((nrOfRows - 1) / 2.0) * square.side());
42
43 int i = 1;
44 while (i <= nrOfRows) {
45 paintOneRow(painter, nrOfColumns, square, circle);
46 painter.mfd(square.side());
47 i = i + 1;
48 }
49 painter.mrt(((nrOfColumns-1)/2.0) * square.side());
50 painter.mfd (((nrOfRows-1)/2.0) * square.side());
51 }
52
53 private static void paintOneRow(SPainter painter, int nrOfColumns, SSquare square, SCircle circle) {
54 int i = 1;
55 while (i <= nrOfColumns) {
56 if (isEven(i)) {
57 paintOneSquare(painter, square);
58 painter.mrt(square.side());
59 i = i + 1;
60 } else {
61 paintOneCircle(painter, circle);
62 painter.mrt(square.side());
63 i = i + 1;
64
65 }
66 }
67 painter.mlt(nrOfColumns * square.side());
68 }
69
70
71
72 private static boolean isEven(int i) {
73 return ((i % 2) == 0);
74 }
75
76 private static void paintOneSquare(SPainter painter, SSquare square) {
77 painter.setColor(Color.BLUE);
78 square.s3();
79 painter.paint(square);
80 square.x3();
81 painter.setColor(Color.BLACK);
82 painter.draw(square);
83
84 }
85
86 private static void paintOneCircle(SPainter painter, SCircle circle) {
87 painter.setColor(Color.GREEN);
88 circle.s3();
89 painter.paint(circle);
90 circle.x3();
91 painter.setColor(Color.BLACK);
92 painter.draw(circle);
93 }
94
95 }
96