AlternateBalloons.java
1    package mathematics;
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   public class AlternateBalloons {
11       public AlternateBalloons(){
12           paintTheImage();
13       }
14       public static  void main(String[]args){
15           SwingUtilities.invokeLater(new Runnable() {
16               @Override
17               public void run() {
18                   new AlternateBalloons();
19               }
20           });
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           paintBalloons(painter,nrOfBalloons);
30   
31       }
32   
33       private void paintBalloons(SPainter painter, int nrOfBalloons) {
34           int i = 1;
35           while (i <= nrOfBalloons) {
36               paintOneBalloon(painter);
37               i = i + 1;
38           }
39       }
40   
41       private void paintOneBalloon(SPainter painter) {
42           Random rgen = new Random();
43           int rn = rgen.nextInt(6);
44           if (rn == 0) {
45               painter.setColor(Color.red);
46           }
47           else if (rn == 1) {
48               painter.setColor(Color.orange);
49           }
50           else if (rn == 2) {
51               painter.setColor(Color.green);
52           }
53           else if (rn == 3) {
54               painter.setColor(Color.black);
55           }
56           else if (rn == 4) {
57               painter.setColor(Color.white);
58           }
59           else {
60               painter.setColor(Color.yellow);
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       private void paintSky(SPainter painter) {
71           painter.setColor(Color.blue);
72           SSquare sky = new SSquare(2000);
73           painter.paint(sky);
74   
75   
76   
77   
78       }
79   }
80