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