/home/ffrigin/NetBeansProjects/CS1/src/npw/AlternateBalloons.java
 1 /*
 2  * Program that paints 300 random 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 /**
15  *
16  * @author ffrigin
17  */
18 public class AlternateBalloons {
19 
20     //  REQUIRED INFRASTRUCTURE
21     public AlternateBalloons() {
22         paintTheImage();
23     }
24 
25     public static void main(String[] args) {
26         SwingUtilities.invokeLater(new Runnable() {
27             public void run() {
28                 new AlternateBalloons();
29             }
30         });
31     }
32 
33     private void paintTheImage() {
34         SPainter painter = new SPainter("AlternateBalloons", 600, 600);
35         paintSky(painter);
36         int nrOfBalloons = 300;
37         paintBalloons(painter, nrOfBalloons);
38         int Fifty = 50;
39         int Hundred = 100;
40 
41     }
42 
43     private void paintSky(SPainter painter) {
44         painter.setColor(Color.BLUE);
45         SSquare sky = new SSquare(2000);
46         painter.paint(sky);
47     }
48 
49     private void paintBalloons(SPainter painter, int nrOfBalloons) {
50         int i = 1;
51         while (i <= nrOfBalloons) {
52             painter.setColor(randomColor());
53             paintFiftyBalloons(painter);
54             i = i + 50;
55 
56         }
57 
58     }
59 
60     private void paintFiftyBalloons(SPainter painter) {
61         int u = 1;
62         while (u <= 50) {
63             int balloonRadius = 30;
64             SCircle balloon = new SCircle(balloonRadius);
65             painter.move();
66             painter.paint(balloon);
67             painter.saveColor();
68             painter.setColor(Color.BLACK);
69             painter.draw(balloon);
70             painter.restoreColor();
71             u = u + 1;
72         }
73     }
74 
75     private static Color randomColor() {
76         int rv = (int) (Math.random() * 256);
77         int gv = (int) (Math.random() * 256);
78         int bv = (int) (Math.random() * 256);
79         return new Color(rv, gv, bv);
80     }
81 
82 }
83