AlternateBalloons.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    /* Another Balloons program 
9     *,-, I'm bad at spelling Balloons... 
10    * Must have 300 balloons 
11    * Radius must be 30 
12    * Must have 6 random Balloon Colors 
13    */
14   public class AlternateBalloons {
15       private void paintTheImage() {
16           SPainter painter = new SPainter("Balloons!!!" ,600, 600);
17           blueSky(painter);
18           int numOfBalloons = 300;
19           paintBalloons(painter,numOfBalloons);
20       }
21   
22       private void paintBalloons(SPainter painter, int numOfBalloons) {
23           int i = 1;
24           while (i <= numOfBalloons) {
25               paintOneBallon(painter);
26               i = i + 1;
27           }
28       }
29       private void paintOneBallon(SPainter painter) {
30           Random rgen = new Random();
31           int rand = rgen.nextInt(6);
32           if (rand == 0) {
33               painter.setColor(Color.RED);
34           } else if (rand == 1) {
35               painter.setColor(Color.BLUE);
36           } else if (rand == 2){
37               painter.setColor(Color.MAGENTA);
38           } else if (rand == 3) {
39               painter.setColor(Color.GREEN);
40           } else if (rand == 4) {
41               painter.setColor(Color.ORANGE);
42           } else {
43               painter.setColor(Color.YELLOW);
44           }
45           painter.move();
46           int balloonRadius = 20;
47           SCircle balloon = new SCircle(balloonRadius);
48           painter.paint(balloon);
49           painter.setColor(Color.BLACK);
50           painter.draw(balloon);
51       }
52   
53       private void blueSky(SPainter painter) {
54           painter.setColor(Color.CYAN); //This has been set to Cyan I asked if it was okay...
55           SSquare sky = new SSquare(2000);
56           painter.paint(sky);
57       }
58       public AlternateBalloons() {
59           paintTheImage();
60       }
61   
62       public static void main(String [] args) {
63           SwingUtilities.invokeLater(new Runnable() {
64               public void run() {
65                   new AlternateBalloons();
66               }
67           });
68       }
69   
70   }
71