AlternateBalloons.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    import java.awt.Color;
8    import java.util.Random;
9    import javax.swing.SwingUtilities;
10   import painter.SPainter;
11   import shapes.SCircle;
12   import shapes.SSquare;
13   
14   public class AlternateBalloons {
15       //Required infrastructure
16       public AlternateBalloons() {
17           paintTheImage();
18       }
19       public static void main(String[]args) {
20           SwingUtilities.invokeLater(new Runnable() {
21               public void run() {
22                   new AlternateBalloons();
23               }
24           });
25       }
26       //The painter doing its thing
27       private void paintTheImage(){
28           SPainter painter = new SPainter("Alternate Balloons",600,600);
29           paintSky(painter);
30           int nrOfBalloons = 300;
31           paintBalloons(painter,nrOfBalloons);
32       }
33       private void paintSky(SPainter painter) {
34           painter.setColor(Color.BLUE);
35           SSquare sky = new SSquare(2000);
36           painter.paint(sky);
37       }
38   
39       private void paintBalloons(SPainter painter, int nrOfBalloons) {
40           int i = 1;
41           while (i <= nrOfBalloons){
42               paintOneBalloon(painter);
43               i = i + 1;
44           }
45       }
46   
47       private void paintOneBalloon(SPainter painter){
48           Random rgen = new Random();
49           int rn = rgen.nextInt(5);
50           if (rn == 0) {
51               painter.setColor(red); //RED
52           } else if (rn == 1) {
53               painter.setColor(mint); //MINT GREEN
54           } else if (rn == 2) {
55               painter.setColor(purple); //PURPLE
56           } else if (rn == 3) {
57               painter.setColor(skyblue); //SKY BLUE
58           } else if (rn == 4) {
59               painter.setColor(hotpink); //HOT PINK
60           } else {
61               painter.setColor(yelloworange);  //YELLOW-ORANGE
62           }
63           painter.move();
64           int balloonRadius = 30;
65           SCircle balloon = new SCircle(balloonRadius);
66           painter.paint(balloon);
67           painter.setColor(Color.BLACK);
68           painter.draw(balloon);
69       }
70       Color red = new Color(245,66,108);
71       Color mint = new Color(66,245,164);
72       Color purple = new Color(176,66,245);
73       Color skyblue = new Color(66,235,245);
74       Color hotpink = new Color(245,66,227);
75       Color yelloworange = new Color(245,188,66);
76   }
77