AlternateBalloons.java
1    /* 
2     * Program that paints 100 red, yellow and orange balloons in a blue sky. 
3     * It will feature commands. 
4     */
5    package npw;
6    
7    import painter.SPainter;
8    import shapes.SCircle;
9    import shapes.SSquare;
10   
11   import javax.swing.*;
12   import java.awt.*;
13   import java.util.Random;
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       // THE PAINTER DOING ITS THING
30       private void paintTheImage() {
31           SPainter painter = new SPainter("Balloons", 600, 600);
32           paintSky(painter); // ask IntelliJ to generate the stub
33           int nrOfBalloons = 300;
34           paintBalloons(painter, nrOfBalloons); // ask IntelliJ to generate the stub
35       }
36   
37       private void paintSky(SPainter painter) {
38           painter.setColor(Color.BLUE);
39           SSquare sky = new SSquare(2000);
40           painter.paint(sky);
41       }
42   
43       private void paintBalloons(SPainter painter, int nrOfBalloons) {
44           int i = 1;
45           while (i <= nrOfBalloons) {
46               paintOneBalloon(painter); // ask IntelliJ to generate the stub
47               i = i + 1;
48           }
49       }
50   
51       private void paintOneBalloon(SPainter painter) {
52           Random rgen = new Random();
53           Color $C9D5FF = new Color(201,213 ,255);
54           Color $E817EF = new Color(232,23 ,94);
55           Color $6FFF49 = new Color(111, 255, 73);
56           Color $53C6FF = new Color(83, 198,255);
57           Color $FF8321 = new Color(255, 131, 33);
58           Color $5500FF = new Color(85, 0,255);
59           Color $FFD5FB = new Color(255,213 , 251);
60   
61   
62           int rn = rgen.nextInt(6);
63           if (rn == 0) {
64               painter.setColor($FF8321);
65           } else if (rn == 1) {
66               painter.setColor($5500FF);
67           }
68           else if (rn == 2) {
69               painter.setColor($C9D5FF);
70           }
71           else if (rn == 3) {
72               painter.setColor($E817EF);
73           }
74           else if (rn == 4) {
75               painter.setColor($6FFF49);
76           }
77           else if (rn == 5) {
78               painter.setColor($53C6FF);
79           }
80           else {
81               painter.setColor($FFD5FB);
82           }
83   
84           painter.move();
85           int balloonRadius = 30;
86           SCircle balloon = new SCircle(balloonRadius);
87           painter.paint(balloon);
88           painter.setColor(Color.BLACK);
89           painter.draw(balloon);
90       }
91   }
92   
93