Balloons.java
1    //Makes a bunch of random dots on a blue canvas
2    
3    package mathematics;
4    import java.awt.Color;
5    import java.util.Random;
6    import javax.swing.SwingUtilities;
7    import painter.SPainter;
8    import shapes.SCircle;
9    import shapes.SSquare;
10   
11   public class Balloons {
12       //requires infrastructure
13       public Balloons(){
14           paintTheImage();
15       }
16   
17       public static void main(String[] args){
18           SwingUtilities.invokeLater(new Runnable() {
19               public void run() {
20                   new Balloons();
21               }
22           });
23       }
24   
25       //Painter doing its thing
26       private void paintTheImage() {
27           SPainter painter = new SPainter("Balloons", 600, 600);
28           paintSky(painter);
29           int nrOfballoons= 100;
30           paintBalloons(painter,nrOfballoons);
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(3);
49           if (rn == 0){
50               painter.setColor(Color.RED);
51           }else if (rn == 1){
52               painter.setColor(Color.ORANGE);
53           }
54           else {
55               painter.setColor(Color.YELLOW);
56           }
57           painter.move();
58           int balloonRadius = 20;
59           SCircle balloon = new SCircle(balloonRadius);
60           painter.paint(balloon);
61           painter.setColor(Color.BLACK);
62           painter.draw(balloon);
63   
64       }
65   }
66