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