AlternateBalloons.java
/* 
    Variation of the balloons program. 
    there will be 300 balloons with a radius of 30 
 */

package npw;

import java.awt.Color;
import java.util.Random;
import javax.swing.SwingUtilities;
import painter.SPainter;
import shapes.SCircle;
import shapes.SSquare;

public class AlternateBalloons {
    //required infrastructure
    public AlternateBalloons() {
        paintTheImage();
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new AlternateBalloons();
            }
        });
    }

    //the painter doing its thing
    private void paintTheImage() {
        SPainter painter = new SPainter("AlternateBalloons", 600, 600);
        paintSky(painter);
        int nrOfBalloons = 300;
        paintAlternateBalloons(painter, nrOfBalloons);
    }


    private static Color rv(){
        int rv = (int) (Math.random() * 160);
        return new Color(rv);
    }

    private static Color gv(){
        int gv = (int) (Math.random() * 160);
        return new Color(gv);
    }

    private static Color bv(){
        int bv = (int) (Math.random() * 160);
        return new Color(bv);
    }

    private void paintSky(SPainter painter) {
        painter.setColor(Color.BLUE);
        SSquare sky = new SSquare(2000);
        painter.paint(sky);
    }

    private void paintAlternateBalloons(SPainter painter, int nrOfBalloons) {
        int i = 1;
        while (i <= nrOfBalloons) {
            paintOneBalloon(painter);
            i = i + 1;
        }
    }

    private void paintOneBalloon(SPainter painter) {
        Random rgen = new Random();
        int rn = rgen.nextInt(6);
        if (rn == 0) {
            painter.setColor(Color.RED);
        } else if (rn == 1) {
            painter.setColor(Color.ORANGE);
        } else if (rn == 2) {
            painter.setColor(Color.YELLOW);
        } else if (rn == 3){
            painter.setColor(rv());
        } else if (rn == 4){
            painter.setColor(gv());
        }else{
            painter.setColor(bv());
        }


        painter.move();
        int balloonRadius = 30;
        SCircle balloon = new SCircle((balloonRadius));
        painter.paint(balloon);
        painter.setColor(Color.BLACK);
        painter.draw(balloon);
    }
}