AlternateBalloons.java
1    /* 
2     * The program paints 300 each of a radius of 30, and of 6 different colors. 
3     * It will feature commands. 
4     * 
5     * */
6    
7    package npw;
8    
9    import painter.SPainter;
10   import shapes.SCircle;
11   import shapes.SSquare;
12   
13   import javax.swing.*;
14   import java.awt.*;
15   import java.util.Random;
16   
17   public class AlternateBalloons {
18   
19       // REQUIRED CODE
20       public AlternateBalloons() {
21           paintTheImage();
22       }
23   
24       public static void main(String[] args) {
25           SwingUtilities.invokeLater(new Runnable() {
26               public void run() {
27                   new AlternateBalloons();
28               }
29           });
30       }
31   
32       // The Painter Doing The Thing
33   
34       private void paintTheImage() {
35           SPainter painter = new SPainter("Balloons", 600, 600);
36           paintSky(painter); // ask IntelliJ to generate the stub
37           int nrOfBalloons = 300;
38           paintBalloons(painter, nrOfBalloons); // Generate the stub
39       }
40   
41       private void paintBalloons(SPainter painter, int nrOfBalloons) {
42           int i = 1;
43           while ( i <= nrOfBalloons ) {
44               paintOneBalloon(painter); // ask IntelliJ to generate the stub
45               i = i + 1;
46           }
47       }
48   
49       private void paintOneBalloon(SPainter painter) {
50           Random rgen = new Random();
51           int rn = rgen.nextInt(6);
52           if (rn == 0)
53           {
54               painter.setColor(new Color(202,45,45));
55           }
56           else if (rn == 1)
57           {
58               painter.setColor(new Color(48, 188, 48));
59           }
60           else if (rn == 2)
61           {
62               painter.setColor(new Color(254, 66, 172));
63           }
64           else if (rn == 3)
65           {
66               painter.setColor(new Color(255, 171, 0));
67           }
68           else if (rn == 4)
69           {
70               painter.setColor(new Color(251, 255, 253));
71           }
72           else if (rn == 5)
73           {
74               painter.setColor(new Color(94, 236, 255));
75           }
76           else
77           {
78               painter.setColor(new Color(127, 61, 146));
79           }
80           painter.move();
81           int balloonRadius = 30;
82           SCircle balloon = new SCircle(balloonRadius);
83           painter.paint(balloon);
84           painter.setColor(Color.BLACK);
85           painter.draw(balloon);
86       }
87   
88       private void paintSky(SPainter painter) {
89           painter.setColor(Color.BLUE);
90           painter.setColor(new Color(8, 38,66));
91           SSquare sky = new SSquare(2000);
92           painter.paint(sky);
93       }
94   }