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