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