/home/kchan2/NetBeansProjects/CS1/src/npw/PumpItUp.java
 1 /*
 2  * Program to paint the Pump It Up dance floor in the context of the 
 3  * Nonrepresentational Painting World, NPW.
 4  */
 5 
 6 package npw;
 7 
 8 import java.awt.Color;
 9 import javax.swing.SwingUtilities;
10 import painter.SPainter;
11 import shapes.SSquare;
12 
13 /**
14  *
15  * @author kchan2
16  */
17 public class PumpItUp {
18 
19     // THE SOLUTION TO THE PUMP IT UP PROBLEM
20     
21     private void paintTheImage() {
22         SPainter painter = new SPainter("Pump It Up",600,600);
23         SSquare square = new SSquare(150);
24         paintYellowSquare(painter,square);
25         paintRedSquares(painter,square);
26         paintBlueSquares(painter,square);
27         paintGraySquares(painter,square);
28     }
29     
30     // REQUIRED INFRASTRUCTURE
31     
32     public PumpItUp() {
33         paintTheImage();
34     }
35     public static void main(String[] args) {
36         SwingUtilities.invokeLater(new Runnable() {
37             public void run() {
38                 new PumpItUp();
39             }
40         });
41     }
42 
43     private void paintYellowSquare(SPainter painter, SSquare square) {
44         painter.setColor(Color.YELLOW);
45         painter.paint(square);
46     }
47 
48     private void paintRedSquares(SPainter painter, SSquare square) {
49         painter.setColor(Color.RED);
50         painter.mfd(square.side());
51         painter.mlt(square.side());
52         painter.paint(square);
53         square.x2();painter.mrt(square.side());square.s2();
54         painter.paint(square);
55         painter.mlt(square.side());
56         painter.mbk(square.side());
57     }
58 
59     private void paintBlueSquares(SPainter painter, SSquare square) {
60         painter.setColor(Color.BLUE);
61         painter.mbk(square.side());
62         painter.mlt(square.side());
63         painter.paint(square);
64         square.x2();painter.mrt(square.side());square.s2();
65         painter.paint(square);
66         painter.mlt(square.side());
67         painter.mfd(square.side());
68     }
69 
70     private void paintGraySquares(SPainter painter, SSquare square) {
71         painter.setColor(Color.GRAY);
72         painter.mfd(square.side());painter.paint(square);painter.mbk(square.side());
73         painter.mlt(square.side());painter.paint(square);painter.mrt(square.side());
74         painter.mbk(square.side());painter.paint(square);painter.mfd(square.side());
75         painter.mrt(square.side());painter.paint(square);painter.mlt(square.side());
76     }
77     
78 }
79