AlternateBalloons.java
1    package npw;
2    
3    import painter.SPainter;
4    import shapes.SCircle;
5    import shapes.SSquare;
6    
7    import javax.swing.*;
8    import java.awt.*;
9    import java.util.Random;
10   
11   public class AlternateBalloons {
12   
13       public AlternateBalloons() {paintTheImage();}
14   
15       public static void main(String[] args) {
16           SwingUtilities.invokeLater(new Runnable() {
17               @Override
18               public void run() {
19                   new AlternateBalloons();
20               }
21           });
22       }
23   
24       private void paintTheImage() {
25           SPainter painter = new SPainter("Balloons", 600, 600);
26           paintSky(painter);
27           int nrOfBalloons = 300;
28           paintBalloons(painter, nrOfBalloons);
29       }
30   
31       private void paintSky(SPainter painter) {
32           painter.setColor(Color.BLUE);
33           SSquare sky = new SSquare(2000);
34           painter.paint(sky);
35       }
36   
37       private void paintBalloons(SPainter painter, int nrOfBalloons) {
38           int i = 1;
39           while (i <= nrOfBalloons) {
40               paintOneBalloon(painter);
41               i ++;
42           }
43       }
44   
45       private void paintOneBalloon(SPainter painter) {
46           Random rgen = new Random();
47           int rn = rgen.nextInt(7);
48           int clrBoundR = rgen.nextInt(255);
49           int clrBoundG = rgen.nextInt(255);
50           int clrBoundB = rgen.nextInt(255);
51           Color clr = new Color(clrBoundR, clrBoundG, clrBoundB);
52           if (rn == 0) { painter.setColor(Color.RED); }
53           else if (rn == 1) {painter.setColor(Color.ORANGE);}
54           else if (rn == 2) {painter.setColor(Color.YELLOW);}
55           else if (rn == 3) {painter.setColor(clr);}
56   
57           painter.move();
58           int balloonRadius = 30;
59           SCircle balloon = new SCircle(balloonRadius);
60           painter.paint(balloon);
61           painter.setColor(Color.BLACK);
62           painter.draw(balloon);
63       }
64   
65   }
66