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    package npw;
7    
8    import painter.SPainter;
9    import shapes.SCircle;
10   import shapes.SSquare;
11   import java.util.Random;
12   
13   import javax.swing.*;
14   import java.awt.*;
15   
16   public class Balloons {
17       //required infrastructure
18       public Balloons(){
19           paintTheImage();
20   
21       }
22   
23       public static void main (String[] args) {
24           SwingUtilities.invokeLater(new Runnable() {
25               public void run() {
26                   new Balloons();
27               }
28           });
29       }
30   //the painter doin' its thang
31       private void paintTheImage() {
32           SPainter painter = new SPainter("Balloons",600,600);
33           paintSky(painter); //GEN THAT STUB INTELLIJ
34           int nrOfBalloons = 100;
35           paintBalloons(painter,nrOfBalloons); //DO IT AGAIN
36   
37       }
38   
39       private void paintBalloons(SPainter painter, int nrOfBalloons) {
40           int i = 1;
41           while (i<= nrOfBalloons) {
42               paintOneBalloon(painter); //STUB STUB
43               i = i +1;
44   
45           }
46       }
47   
48       private void paintOneBalloon(SPainter painter) {
49           Random rgen = new Random();
50           int rn = rgen.nextInt(3);
51           if (rn ==0) {
52               painter.setColor(Color.RED);
53           } else if (rn == 1) {
54               painter.setColor(Color.ORANGE);
55           } else {
56               painter.setColor(Color.YELLOW);
57           }
58           painter.move();
59           int balloonRadius = 20;
60           SCircle balloon = new SCircle(balloonRadius);
61           painter.paint(balloon);
62           painter.setColor(Color.BLACK);
63           painter.draw(balloon);
64   
65   
66       }
67   
68       private void paintSky(SPainter painter) {
69           painter.setColor(Color.BLUE);
70           SSquare sky = new SSquare(2000);
71          painter.paint(sky);
72       }
73   }
74