/home/sjenks/NetBeansProjects/CS1/src/npw/Invention1.java
 1 /*
 2  * Create an image that looks intersting involing one square and circle 
 3  * as well as one while and if statement to produce something deterministic.
 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 sjenks
17  */
18 public class Invention1 {
19 
20     /**
21      * @param args the command line arguments
22      */
23     public static void main(String[] args) {
24         //TO SET UP THE SQUARE AND THE CIRCLE DIMENSTION
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         //POSTION THE PAINTER TO PAINTE THE RECTANGLE OF SQUARES
40         painter.mlt(((nrOfColumns - 1) / 2.0) * square.side());
41         painter.mbk(((nrOfRows - 1) / 2.0) * square.side());
42         //PAINT THE RECTANGLE OF SQUARES
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