AlternateBalloons.java
package npw;

import painter.SPainter;
import shapes.SCircle;
import shapes.SSquare;

import javax.swing.*;
import java.awt.*;
import java.util.Random;

public class AlternateBalloons {
    public AlternateBalloons() {
        paintTheImage();
    }

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

    private void paintTheImage() {
        SPainter painter = new SPainter("Alternate Balloons", 600, 600);
        paintSky(painter);
        int nrOfBalloons = 300;
        paintAlternateBalloons(painter, nrOfBalloons);
    }

    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.getHSBColor(1, 40, 12));
        } else if (rn == 1) {
            painter.setColor(Color.getHSBColor(10, 40, 20));
        } else if (rn == 2) {
            painter.setColor(Color.getHSBColor(20, 7, 9));
        } else if (rn == 3) {
            painter.setColor(Color.getHSBColor(19, 17, 200));
        } else if (rn == 4) {
            painter.setColor(Color.getHSBColor(120, 200, 100));
        } else if (rn == 5) {
            painter.setColor(Color.getHSBColor(400, 100, 150));
        } else {
            painter.setColor(Color.getHSBColor(450, 350, 40));
        }
            painter.move();
            int balloonRadius = 30;
            SCircle balloon = new SCircle(balloonRadius);
            painter.paint(balloon);
            painter.setColor(Color.BLACK);
            painter.draw(balloon);
        }
        private void paintSky (SPainter painter){
            painter.setColor(Color.BLUE);
            SSquare sky = new SSquare(2000);
            painter.paint(sky);
        }
    }