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       //REQUIRED INFRASTRUCTURE
13       public AlternateBalloons(){
14           paintTheImage();
15       }
16       public static void main(String[] args){
17           SwingUtilities.invokeLater(new Runnable() {
18               @Override
19               public void run() {
20                   new AlternateBalloons();
21               }
22           });
23       }
24       // THE PAINTER DOING ITS THING
25       private void paintTheImage(){
26           SPainter painter = new SPainter("Balloons",600,600);
27           paintSky(painter); // ask IntelliJ to generate the stub
28           int nrOfBalloons = 300;
29           paintBalloons(painter,nrOfBalloons); // ask IntelliJ to generate the stub
30       }
31   
32       private void paintSky(SPainter painter) {
33           painter.setColor(Color.BLUE);
34           SSquare sky = new SSquare(2000);
35           painter.paint(sky);
36       }
37   
38       private void paintBalloons(SPainter painter, int nrOfBalloons) {
39           int i = 1;
40           while (1 <= nrOfBalloons){
41               paintOneBalloon(painter); // ask IntelliJ to generate the stub
42               i = i + 1;
43           }
44       }
45   
46       private void paintOneBalloon(SPainter painter) {
47           Random rgen = new Random();
48           int rn = rgen.nextInt(5);
49           if (rn == 0) {
50               painter.setColor(Color1());
51           }else if (rn == 1) {
52               painter.setColor(Color2());
53           }else if (rn == 2) {
54               painter.setColor(Color3());
55           } else if (rn == 3){
56               painter.setColor(Color4());
57           } else if(rn == 4){
58               painter.setColor(Color5());
59           } else{
60               painter.setColor(Color6());
61           }
62           painter.move();
63           int balloonRadius = 30;
64           SCircle balloon = new SCircle(balloonRadius);
65           painter.paint(balloon);
66           painter.setColor(Color.BLACK);
67           painter.draw(balloon);
68   
69   
70       }
71   
72       private Color Color1() {
73           int rv = (int)(Math.random()*256);
74           int gv = (int)(Math.random()*256);
75           int bv = (int)(Math.random()*256);
76           return new Color(rv,gv,bv);
77       }
78   
79       private Color Color2() {
80           int rv = (int)(Math.random()*256);
81           int gv = (int)(Math.random()*256);
82           int bv = (int)(Math.random()*256);
83           return new Color(rv,gv,bv);
84       }
85   
86       private Color Color3() {
87           int rv = (int)(Math.random()*256);
88           int gv = (int)(Math.random()*256);
89           int bv = (int)(Math.random()*256);
90           return new Color(rv,gv,bv);
91       }
92   
93       private Color Color4() {
94           int rv = (int)(Math.random()*256);
95           int gv = (int)(Math.random()*256);
96           int bv = (int)(Math.random()*256);
97           return new Color(rv,gv,bv);
98       }
99   
100      private Color Color5() {
101          int rv = (int)(Math.random()*256);
102          int gv = (int)(Math.random()*256);
103          int bv = (int)(Math.random()*256);
104          return new Color(rv,gv,bv);
105      }
106  
107      private Color Color6() {
108          int rv = (int)(Math.random()*256);
109          int gv = (int)(Math.random()*256);
110          int bv = (int)(Math.random()*256);
111          return new Color(rv,gv,bv);
112      }
113  
114  }
115