AlternateBalloons.java
1    /* 
2        Program that paints 300 orange, blue, yellow, green, purple and red balloons in a blue sky 
3        Uses a color constructor to choose my own colors 
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 INFRASTRUCTURE
20   
21       public AlternateBalloons() {
22           paintTheImage();
23       }
24   
25       public static void main (String [] args) {
26           SwingUtilities.invokeLater(new Runnable() {
27               @Override
28               public void run() {
29                   new AlternateBalloons();
30               }
31           });
32       }
33   
34       // THE PAINTER DOING ITS THING
35   
36       private void paintTheImage() {
37           SPainter painter = new SPainter("Balloons", 600, 600);
38           paintSky(painter);  //ask Intellij to generate the stub
39           int nrOfBalloons = 300;
40           paintBalloons(painter, nrOfBalloons);     //ask Intellij to generate the stub
41       }
42   
43       private void paintSky(SPainter painter) {
44           painter.setColor(Color.BLUE);
45           SSquare sky = new SSquare(2000);
46           painter.paint(sky);
47       }
48       private void paintBalloons(SPainter painter, int nrOfBallons) {
49           int i = 1;
50           while (i <= nrOfBallons) {
51               paintOneBallon(painter);    //ask IntelliJ to generate the stub
52               i = i + 1;
53           }
54       }
55   
56       private void paintOneBallon(SPainter painter) {
57           Random rgen = new Random();
58           int rn = rgen.nextInt(6);
59           if (rn == 0) {
60               painter.setColor(new Color(168, 50, 162));
61           }
62           else if (rn == 1) {
63               painter.setColor(new Color(50,168,56));
64           }
65           else if (rn == 2) {
66               painter.setColor(new Color(23, 212, 209));
67           }
68           else if (rn == 3) {
69               painter.setColor(new Color(212, 95, 23));
70           }
71           else if (rn == 4) {
72               painter.setColor(new Color(212, 23, 58));
73           }
74           else {
75               painter.setColor(new Color(209, 212, 23));
76           }
77           painter.move();
78           int balloonRadius = 30;
79           SCircle balloon = new SCircle(balloonRadius);
80           painter.paint(balloon);
81           painter.setColor(Color.BLACK);
82           painter.draw(balloon);
83   
84       }
85   }
86