/home/mbilodea/NetBeansProjects/CS1/src/npw/Balloons.java
 1 /*
 2  * Porgram that paints 100 red, yellow, and orange balloons in a blue sky.
 3  * It will feature commands.
 4  */
 5 package npw;
 6 
 7 import java.awt.Color;
 8 import java.util.Random;
 9 import javax.swing.SwingUtilities;
10 import painter.SPainter;
11 import shapes.SCircle;
12 import shapes.SSquare;
13 
14 /**
15  *
16  * @author mbilodea
17  */
18 public class Balloons {
19 
20     // REQUIRED INFRASTRUCTURE
21     
22     public Balloons() {
23         paintTheImage();
24     }
25     
26     public static void main(String[] args) {
27         SwingUtilities.invokeLater(new Runnable() {
28             public void run() {
29                 new Balloons();
30             }
31         });
32     }
33     
34     // THE PAINTER DOING ITS THING
35 
36     private void paintTheImage() {
37         SPainter painter = new SPainter("Balloons", 600, 600);
38         paintSky(painter);
39         int nrOfBalloons = 100;
40         paintBalloons(painter,nrOfBalloons);
41     }
42 
43     private void paintSky(SPainter painter) {
44         painter.setColor(Color.BLUE);
45         SSquare sky = new SSquare(2000);
46         painter.paint(sky);
47     }
48 
49     private void paintBalloons(SPainter painter, int nrOfBalloons) {
50         int i = 1;
51         while ( i <= nrOfBalloons ) {
52             paintOneBalloon(painter);
53             i = i + 1;
54         }
55     }
56 
57     private void paintOneBalloon(SPainter painter) {
58         Random rgen = new Random();
59         int rn = rgen.nextInt(3);
60         if ( rn == 0 ) {
61             painter.setColor(Color.RED);
62         } else if ( rn == 1 ) {
63             painter.setColor(Color.ORANGE);
64         } else {
65             painter.setColor(Color.YELLOW);
66         }
67         painter.move();
68         int balloonRadius = 20;
69         SCircle balloon = new SCircle(balloonRadius);
70         painter.paint(balloon);
71         painter.setColor(Color.BLACK);
72         painter.draw(balloon);
73     }
74     
75 }
76