AlternateBalloons.java
1    package npw;
2    
3    import java.awt.Color;
4    import java.util.Random;
5    import javax.swing.SwingUtilities;
6    import painter.SPainter;
7    import shapes.SCircle;
8    import shapes.SSquare;
9    
10   import static testers.SPolygonTester.paintTheImage;
11   
12   public class AlternateBalloons {
13       public AlternateBalloons() {
14           paintTheImage();
15       }
16   
17       public static void main(String[] args) {
18           SwingUtilities.invokeLater(new Runnable() {
19               public void run() {
20                   new AlternateBalloons();
21               }
22           });
23       }
24   
25       private void paintTheImage() {
26           SPainter painter = new SPainter("Alternate Balloons", 600,600);
27           paintSky(painter);
28           int nrOfBalloons = 300;
29           paintAlternateBalloons(painter,nrOfBalloons);
30       }
31   
32       private void paintAlternateBalloons(SPainter painter, int nrOfBalloons) {
33           int i = 1;
34           while (i <= nrOfBalloons) {
35               paintOneBalloon(painter);
36               i = i + 1;
37           }
38       }
39   
40       private void paintOneBalloon(SPainter painter) {
41           Random rgen = new Random();
42           int rn = rgen.nextInt(6);
43           if (rn == 0) {
44               painter.setRandomColor();
45           } else if (rn == 1) {
46               painter.setRandomColor();
47           } else {
48               painter.setRandomColor();
49           }
50           painter.move();
51           int balloonRadius = 30;
52           SCircle balloon = new SCircle(balloonRadius);
53           painter.paint(balloon);
54           painter.setColor(Color.BLACK);
55           painter.draw(balloon);
56       }
57   
58       private void paintSky(SPainter painter) {
59           painter.setColor(Color.BLUE);
60           SSquare sky = new SSquare(2000);
61           painter.paint(sky);
62       }
63   }