AlternateBalloons.java
1    /* 
2     * Manipulate the code from the Balloons.java program to have 6 colors with 300 balloons 
3     * of radius 30 
4     */
5    package npw;
6    
7    import painter.SPainter;
8    import shapes.SCircle;
9    import shapes.SSquare;
10   
11   import javax.swing.*;
12   import java.awt.*;
13   import java.util.Random;
14   
15   public class AlternateBalloons {
16       //REQUIRED INFRASTRUCTURE
17   
18       public AlternateBalloons() {
19           paintTheImage();
20       }
21   
22       public static void main(String[] args) {
23           SwingUtilities.invokeLater(new Runnable() {
24               public void run(){
25                   new AlternateBalloons();
26               }
27           });
28       }
29   
30       private void paintTheImage() {
31           SPainter painter = new SPainter("Balloons", 600, 600);
32           paintSky(painter);
33           int nrOfBalloons = 300;
34           paintBalloons(painter,nrOfBalloons);
35       }
36   
37       private void paintSky(SPainter painter) {
38           painter.setColor(Color.BLUE);
39           SSquare sky = new SSquare(2000);
40           painter.paint(sky);
41       }
42   
43       private void paintBalloons(SPainter painter, int nrOfBalloons) {
44           int i = 1;
45           while (i <= nrOfBalloons) {
46               paintOneBalloon(painter);
47               i = i + 1;
48           }
49       }
50   
51       private void paintOneBalloon(SPainter painter) {
52           Random rgen = new Random();
53           int rn = rgen.nextInt(6);
54           if (rn == 0) {
55               painter.setColor(Color.RED);
56           } else if (rn == 1) {
57               painter.setColor(Color.ORANGE);
58           } else if (rn == 2) {
59               painter.setColor(Color.YELLOW);
60           } else if (rn == 3) {
61               painter.setColor(Color.GREEN);
62           } else if (rn == 4) {
63               painter.setColor(Color.MAGENTA);
64           } else {
65               painter.setColor(Color.CYAN);
66           }
67           painter.move();
68           int balloonRadius = 30;
69           SCircle balloon = new SCircle(balloonRadius);
70           painter.paint(balloon);
71           painter.setColor(Color.BLACK);
72           painter.draw(balloon);
73       }
74   }
75