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