AlternativeBalloons.java
1    /* 
2     *Program that paints 300 balloons each of radius 300 of 6 different colord 
3     */
4    package npw;
5    
6    import painter.SPainter;
7    import shapes.SCircle;
8    import shapes.SSquare;
9    
10   import javax.swing.*;
11   import java.awt.*;
12   import java.util.Random;
13   
14   public class AlternativeBalloons {
15       //Required infrastructure
16       public AlternativeBalloons(){
17           paintTheImage();
18       }
19       public static void main(String[] args){
20           SwingUtilities.invokeLater(new Runnable() {
21               public void run() {
22                   new AlternativeBalloons();
23               }
24           });
25       }
26       //The painter doing its thing
27       private void paintTheImage(){
28           SPainter painter = new SPainter("AltBalloons", 600,600);
29           paintSky(painter); //ask intelij to generate new stub
30           int nrOfBalloons = 300;
31           paintBalloons(painter,nrOfBalloons);//ask intelij to generate new stub
32       }
33   
34       private void paintSky(SPainter painter) {
35           painter.setColor(Color.BLUE);
36           SSquare sky = new SSquare(2000);
37           painter.paint(sky);
38       }
39   
40       private void paintBalloons(SPainter painter, int nrOfBalloons) {
41           int i = 1;
42           while (i <= nrOfBalloons ){
43               paintOneBalloon(painter);//ask intelij to generate new stub
44               i = i + 1;
45           }
46       }
47   
48       private void paintOneBalloon(SPainter painter) {
49           Random rgen = new Random();
50           int rn = rgen.nextInt(6);
51           if ( rn == 1){
52               painter.setColor(Color.RED);
53           }else if ( rn == 1 ){
54               painter.setColor(Color.ORANGE);
55           }else {
56               painter.setRandomColor();
57           }
58           painter.move();
59           int balloonRadius = 30;
60           SCircle balloon = new SCircle(balloonRadius);
61           painter.paint(balloon);
62           painter.setColor(Color.BLACK);
63           painter.draw(balloon);
64       }
65   }
66   
67