Balloons.java
1    package npw;
2    import java.awt.Color;
3    import java.util.Random;
4    import javax.swing.SwingUtilities;
5    import painter.SPainter;
6    import shapes.SCircle;
7    import shapes.SSquare;
8    /* This program will paint 100 red, yellow and orange balloons in a blue sky. 
9    *It will feature commands 
10    */
11   public class Balloons {
12       private void paintTheImage() {
13           SPainter painter = new SPainter("Balloons!!!" ,600, 600);
14           blueSky(painter);
15           int numOfBalloons = 100;
16           paintBalloons(painter,numOfBalloons);
17       }
18   
19       private void paintBalloons(SPainter painter, int numOfBalloons) {
20           int i = 1;
21           while (i <= numOfBalloons) {
22               paintOneBallon(painter);
23               i = i + 1;
24           }
25       }
26   
27       private void paintOneBallon(SPainter painter) {
28           Random rgen = new Random();
29           int rand = rgen.nextInt(3);
30           if (rand == 0) {
31               painter.setColor(Color.RED);
32           } else if (rand == 1) {
33               painter.setColor(Color.ORANGE);
34           } else {
35               painter.setColor(Color.YELLOW);
36           }
37           painter.move();
38           int balloonRadius = 20;
39           SCircle balloon = new SCircle(balloonRadius);
40           painter.paint(balloon);
41           painter.setColor(Color.BLACK);
42           painter.draw(balloon);
43       }
44   
45       private void blueSky(SPainter painter) {
46               painter.setColor(Color.BLUE); //:( I want to set it to cyan ,-,
47           SSquare sky = new SSquare(2000);
48           painter.paint(sky);
49       }
50       public Balloons() {
51           paintTheImage();
52       }
53   
54       public static void main(String [] args) {
55           SwingUtilities.invokeLater(new Runnable() {
56               public void run() {
57                   new Balloons();
58               }
59           });
60       }
61   
62   }
63