Balloons.java
1    
2    
3    
4    /* 
5     *Program that paints 100 red, yellow and orange balloons in a blue sky. 
6     * It will feature commands. 
7     */
8    
9    package npw;
10   
11   import java.awt.Color;
12   import java.util.Random;
13   import javax.swing.SwingUtilities;
14   import painter.SPainter;
15   import shapes.SCircle;
16   import shapes.SSquare;
17   
18   public class Balloons {
19       //REQUIRED INFRASTRUCTURE
20   
21       public Balloons() {
22           paintTheImage();
23       }
24   
25       public static void main(String[] args) {
26           SwingUtilities.invokeLater(new Runnable() {
27                   public void run() {
28               new Balloons();
29           }
30       });
31   }
32   
33      // THE PAINTER DOING ITS THING
34       private void paintTheImage() {
35           SPainter painter = new SPainter("balloons", 600, 600);
36           paintSky(painter); //ask intellij to generate the stub
37           int nrOfBalloons = 100;
38           paintBalloons(painter, nrOfBalloons); //ask intellij to generate the stub
39       }
40   
41       private void paintSky(SPainter painter) {
42           painter.setColor(Color.BLUE);
43           SSquare sky = new SSquare(2000);
44           painter.paint(sky);
45       }
46   
47       private void paintBalloons(SPainter painter, int nrOfBalloons) {
48           int i = 1 ;
49           while ( i<= nrOfBalloons) {
50               painterOneBalloon(painter); //ask IntelliJ to generrate the stub
51               i= i + 1;
52           }
53       }
54   
55       private void painterOneBalloon(SPainter painter) {
56           Random rgen = new Random();
57           int rn = rgen.nextInt(3);
58           if (rn == 0) {
59               painter.setColor(Color.RED);
60           } else if (rn == 1 ) {
61               painter.setColor(Color.ORANGE);
62           } else {
63               painter.setColor(Color.YELLOW);
64           }
65           painter.move();
66           int balloonRadius = 20;
67           SCircle balloon = new SCircle(balloonRadius);
68           painter.paint(balloon);
69           painter.setColor(Color.black);
70           painter.draw(balloon);
71       }
72   
73   
74   }
75   
76   
77   
78   
79   
80   
81