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