AlternateBalloons.java
1    /* 
2    Program that paints 300 red, yellow and orange balloons in a blue sky 
3    -It will feature commands 
4     */
5    
6    
7    package npw;
8    
9    
10   import painter.SPainter;
11   import shapes.SCircle;
12   import shapes.SSquare;
13   
14   import javax.swing.*;
15   import java.awt.*;
16   import java.util.Random;
17   
18   public class AlternateBalloons {
19   
20   
21       //Required Infrastructure
22       public AlternateBalloons() {
23           paintTheImage();
24       }
25   
26       public static void main(String[] args){
27           SwingUtilities.invokeLater(new Runnable(){
28               public void run() {
29                   new AlternateBalloons();
30               }
31           });
32       }
33   
34       //The painter doin stufff
35   
36       private void paintTheImage() {
37           SPainter painter = new SPainter("Balloons", 600, 600);
38           paintSky(painter);
39           int nrOfBalloons = 300;
40           paintBalloons(painter,nrOfBalloons);
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(5);
54           if ( rn == 0 ) {
55               painter.setColor(new Color(200, 40, 20));
56           }
57           else if ( rn == 1 ) {
58               painter.setColor(new Color(120, 10, 150));
59           }
60           else if (rn == 2 ) {
61               painter.setColor(new Color(0, 100, 100));
62           }
63           else if (rn == 3 ) {
64               painter.setColor(new Color(200, 220, 5));
65           }
66           else if (rn == 4 ) {
67               painter.setColor(new Color(2, 22, 222));
68           }
69           else {
70               painter.setColor(new Color(244, 44, 4));
71           }
72           painter.move();
73           int balloonRadius = 30;
74           SCircle balloon = new SCircle(balloonRadius);
75           painter.paint(balloon);
76           painter.setColor(Color.BLACK);
77           painter.draw(balloon);
78       }
79   
80       private void paintSky(SPainter painter) {
81           painter.setColor(Color.BLUE);
82           SSquare sky = new SSquare(2000);
83           painter.paint(sky);
84       }
85   }
86