AlternateBalloons.java
1    package npw;
2    
3    import java.awt.Color;
4    import java.util.Random;
5    import javax.swing.SwingUtilities;
6    import painter.SPainter;
7    import shapes.SCircle;
8    import shapes.SSquare;
9    
10   public class AlternateBalloons {
11       //REQUIRED INFRASTRUCTURE
12       public AlternateBalloons() {
13           paintTheImage();
14       }
15   
16       public static void main(String[] args) {
17           SwingUtilities.invokeLater(new Runnable(){
18               public void run(){
19                   new AlternateBalloons();
20               }
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);
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 (i <= nrOfBalloons) {
41               paintOneBalloon(painter);
42               i = i + 1;
43           }
44       }
45   
46       private void paintOneBalloon (SPainter painter){
47           Random rgen = new Random();
48           Color rn = new Color(23, 45, 25);
49           Color rno = new Color (230, 4, 25);
50           Color rnon = new Color (203, 245, 25);
51           Color rnono = new Color (35, 55, 105);
52           Color rrnono = new Color (1, 95, 205);
53           Color rrnnono = new Color (33, 56, 78);
54           Color rrnnoono = new Color (93, 6, 78);
55   
56           int nr = rgen.nextInt(6);
57           if (nr ==0) {
58               painter.setColor(rn);
59           }else if (nr ==1 ) {
60               painter.setColor(rno);
61           } else if (nr == 2) {
62               painter.setColor(rnon);
63           }else if (nr == 3) {
64               painter.setColor(rnono);
65           }else if (nr == 4) {
66               painter.setColor(rrnono);
67           } else if (nr == 5) {
68               painter.setColor(rrnnono);
69           }else {
70               painter.setColor(rrnnoono);
71           }
72   
73           painter.move();
74           int balloonRadius = 30;
75           SCircle balloon = new SCircle(balloonRadius);
76           painter.paint(balloon);
77           painter.setColor(Color.BLACK);
78           painter.draw(balloon);
79       }
80   }