AlternateBalloons.java
1    /* 
2     *Program that paints 300 balloons of 6 random colors in a blue sky. 
3     * It will feature. 
4     */
5    package npw;
6    
7    import java.awt.Color;
8    import java.util.Random;
9    import javax.swing.SwingUtilities;
10   
11   import painter.SPainter;
12   import shapes.SCircle;
13   import shapes.SSquare;
14   
15   public class AlternateBalloons {
16       //Required Infrastructure
17       public AlternateBalloons() {
18           paintTheimage();
19       }
20   
21       public static void main(String[] args) {
22           SwingUtilities.invokeLater(new Runnable() {
23               public void run() {
24                   new AlternateBalloons();
25               }
26           });
27       }
28   
29       private void paintTheimage() {
30           SPainter painter = new SPainter("Balloons", 600, 600);
31           paintSky(painter); //ask Intellij to generate stub
32           int nrOfBalloons = 300;
33           paintBalloons(painter, nrOfBalloons);
34       }
35   
36       private void paintSky(SPainter painter) {
37           painter.setColor(Color.BLUE);
38           SSquare sky = new SSquare(2000);
39           painter.paint(sky);
40       }
41   
42       private void paintBalloons(SPainter painter, int nrOfBalloons) {
43           int i = 1;
44           while (i <= nrOfBalloons) {
45               paintOneBalloon(painter); // as Intellij to generate the stub
46               i = i + 1;
47           }
48       }
49       private static Color randomColor() {
50           Random rand = new Random();
51           int r = rand.nextInt(256);
52           int g = rand.nextInt(256);
53           int b = rand.nextInt(256);
54           return new Color(r,g,b);
55       }
56   
57       private void paintOneBalloon(SPainter painter) {
58           Random rgen = new Random();
59           int rn = rgen.nextInt(6);
60           if (rn == 0) {
61               painter.setColor(randomColor());
62           } else if (rn == 1) {
63               painter.setColor(randomColor());
64           } else if (rn == 2) {
65               painter.setColor(randomColor());
66           } else if (rn == 3) {
67               painter.setColor(randomColor());
68           } else if (rn == 4) {
69               painter.setColor(randomColor());
70           } else {
71               painter.setColor(randomColor());
72           }
73           painter.move();
74           int balloonRadius = 30;
75           SCircle balloon = new SCircle(balloonRadius);
76           painter.paint(balloon);
77           painter.setColor(Color.BLACK);
78           painter.draw(balloon);
79   
80       }
81   }