AlternativeBalloons.java
/*program using stepwise refinement to paint "Alternative" balloons/ 
with 6 different nameless colors 
YEET 
 */





package npw;


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

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

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

    private void paintTheImage() {
        SPainter painter = new SPainter("Balloons", 600, 600);
        paintSky(painter); //have intellij create the stub
        int nrOfBalloons = 300;
        paintBalloons(painter,nrOfBalloons);//intellij create stub
    }

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

    }

    private void paintBalloons(SPainter painter, int nrOfBalloons) {
        int i = 1;
        while (i <= nrOfBalloons ) {
            paintOneBalloon(painter); //ask intellij to create stub
            i += 1;
        }

    }

    private void paintOneBalloon(SPainter painter) {

        Random rgen = new Random();
        int rn = rgen.nextInt(6);
        if (rn == 0) {
            Color color0 = new Color(20, 20, 60);
            painter.setColor(color0);
        } else if (rn == 1) {
            Color color1 = new Color(123, 232, 114);
            painter.setColor(color1);
        } else if (rn == 2) {
            Color color2 = new Color(123, 232, 1);
            painter.setColor(color2);
        } else if (rn == 3) {
            Color color3 = new Color(200, 0, 30);
            painter.setColor(color3);
        } else if (rn == 4) {
            Color color4 = new Color(123, 3, 114);
            painter.setColor(color4);
        } else  {
            Color color5 = new Color(80, 22, 114);
            painter.setColor(color5);
        }




        // old way of determining balloon  color phased out so that a color constructor can be used
        painter.move();
        int balloonRadius = 30;
        SCircle balloon = new SCircle(balloonRadius);
        painter.paint(balloon);
        painter.setColor(Color.black);
        painter.draw(balloon);

    }

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