AlternateBalloons.java
1    package npw;
2    
3    import painter.SPainter;
4    import shapes.SCircle;
5    import shapes.SSquare;
6    
7    import javax.swing.*;
8    import java.awt.*;
9    import java.util.Random;
10   
11   public class AlternateBalloons {
12       public AlternateBalloons(){
13           paintTheImage();
14   
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("Balloons", 600, 600);
27           paintSky(painter);
28           int nrOfBalloons = 300;
29           paintballoons(painter, nrOfBalloons);
30       }
31   
32       private void paintSky(SPainter painter) {
33           painter.setColor(Color.BLUE);
34           SSquare sky = new SSquare(2000);
35           painter.paint(sky);
36       }
37   
38       private void paintballoons(SPainter painter, int nrOfBalloons) {
39           int i = 1;
40           while (i <= nrOfBalloons) {
41               paintOneBalloon(painter);
42               i = i + 1;
43           }
44       }
45   
46       private void paintOneBalloon(SPainter painter) {
47           Random rgen = new Random();
48           int rn = rgen.nextInt(6);
49           if(rn == 0){
50               painter.setColor(randomColor());
51           }else if(rn == 1){
52               painter.setColor(randomColor());
53           }else if(rn == 2){
54               painter.setColor(randomColor());
55           }else if(rn == 3){
56               painter.setColor(randomColor());
57           }else if(rn == 4){
58           painter.setColor(randomColor());
59           }else {
60           painter.setColor(randomColor());
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 Color randomColor() {
71           int rv = (int)(Math.random()*256);
72           int gv = (int)(Math.random()*256);
73           int bv = (int)(Math.random()*256);
74           return new Color(rv, gv, bv);
75       }
76   }
77