/home/kchan2/NetBeansProjects/CS1/src/npw/Dots.java
 1 /*
 2  * Program to paint dots in the context of the Nonrepresentational
 3  * 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.SCircle;
12 
13 /**
14  *
15  * @author kchan2
16  */
17 public class Dots {
18 
19     // THE SOLUTION TO THE BLUE DOT PROBLEM
20     
21     private void paintTheImage() {
22         SPainter klee = new SPainter("Dots",600,600);
23         SCircle dot = new SCircle(40);
24         paintBlueCircles(klee,dot);
25         paintRedCircles(klee,dot);
26         paintOrangeCircles(klee,dot);
27     }
28     
29     // REQUIRED INFRASTRUCTURE
30     
31     public Dots() {
32         paintTheImage();
33     }
34     public static void main(String[] args) {
35         SwingUtilities.invokeLater(new Runnable() {
36             public void run() {
37                 new Dots();
38             }
39         });
40     }
41 
42     private void paintBlueCircles(SPainter klee, SCircle dot) {
43     klee.setColor(Color.BLUE);
44     klee.paint(dot);
45     dot.x2();klee.mfd(dot.diameter());dot.s2();
46     klee.paint(dot);
47     dot.x2();dot.x2();klee.mbk(dot.diameter());dot.s2();dot.s2();
48     klee.paint(dot);
49     dot.x2();klee.mfd(dot.diameter());dot.s2();
50     }
51 
52     private void paintRedCircles(SPainter klee, SCircle dot) {
53     klee.setColor(Color.RED);
54     dot.x2();klee.mfd(dot.diameter());klee.mlt(dot.diameter());dot.s2();
55     dot.x3();dot.s2();klee.paint(dot);dot.x2();dot.s3();
56     dot.x2();dot.x2();klee.mrt(dot.diameter());dot.s2();dot.s2();
57     dot.x3();dot.s2();klee.paint(dot);dot.x2();dot.s3();
58     dot.x2();klee.mlt(dot.diameter());klee.mbk(dot.diameter());dot.s2();
59     }
60 
61     private void paintOrangeCircles(SPainter klee, SCircle dot) {
62     klee.setColor(Color.ORANGE);
63     dot.x2();klee.mbk(dot.diameter());klee.mlt(dot.diameter());dot.s2();
64     dot.x2();dot.s3();klee.paint(dot);dot.x3();dot.s2();
65     dot.x2();dot.x2();klee.mrt(dot.diameter());dot.s2();dot.s2();
66     dot.x2();dot.s3();klee.paint(dot);dot.x3();dot.s2();
67     dot.x2();klee.mlt(dot.diameter());klee.mfd(dot.diameter());dot.s2();
68     }
69     
70 }