AlternateBalloons.java
/* 
 * Program that paints 300 different colored balloons in six "nameless" colors in a blue sky. 
 * It will feature commands. 
 */

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("Balloons",600,600);
        paintSky(painter);
        int nrOfBalloons = 300;
        paintAlternateBalloons(painter,nrOfBalloons);
    }

    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);
        Color one = new Color(0xdc98b6);
        Color two = new Color(0xc6b6e0);
        Color three = new Color(0xabd7e5);
        Color four = new Color(0xfb5d65);
        Color five = new Color(0x40cad5);
        Color six = new Color(0x8af897);
        if ( rn == 0) {
            painter.setColor(one);
        } else if ( rn == 1 ) {
            painter.setColor(two);
        } else if ( rn == 2 ) {
            painter.setColor(three);
        } else if ( rn == 3 ) {
            painter.setColor(four);
        } else if ( rn == 4 ) {
            painter.setColor(five);
        } else {
            painter.setColor(six);
        }
        painter.move();
        int balloonRadius = 30;
        SCircle balloon = new SCircle(balloonRadius);
        painter.paint(balloon);
        painter.setColor(Color.BLACK);
        painter.draw(balloon);
    }
}