AlternateBalloons.java
/* 
 * Program that paint balloons with 6 different 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() {
            @Override
            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;
        paintBalloons(painter,nrOfBalloons);
    }

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

    private void paintOneBall(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(Color.GREEN);
        } else if (rn ==4){
            painter.setColor(Color.PINK);
        } else if (rn ==5){
            painter.setColor(Color.GRAY);
        } else if (rn ==6){
            painter.setColor(Color.CYAN);
        }
        painter.move();
        int balloonRadius = 30;
        SCircle AlternateBalloons = new SCircle(balloonRadius);
        painter.paint(AlternateBalloons);
        painter.setColor(Color.BLACK);
        painter.draw(AlternateBalloons);
    }

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