AlternateBalloons.java
/*this program will paint 300 random color balloons in a blue sky. 
it wuill feature commands. 
 */
package npw;

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

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

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

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

    private void paintTheImange() {
        SPainter painter = new SPainter("AlternateBalloons",600,600);
        paintsky(painter); // asking intellij to generate the stub
        int nrOfBalloons=300;
        paintballons(painter,nrOfBalloons); //asking IntelliJ to generate the stub
    }


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

    private void paintballons(SPainter painter, int nrOfBalloons) {
        int i=1;
        while(i<=nrOfBalloons){
            painterOneBalloon(painter); //ask Intellij to generate the stub
            i=i+1;
        }
    }

    private void painterOneBalloon(SPainter painter) {
        Random rgen= new Random();
         int rn = rgen.nextInt(6);
        if(rn==0) {
            painter.setColor(randomColor());
        }else if (rn==1){
            painter.setColor(randomColor());
        }else if (rn==2){
            painter.setColor(randomColor());
        }
        else if (rn==3){
            painter.setColor(randomColor());
        }
        else if (rn==4){
            painter.setColor(randomColor());
        }
        else if (rn==5){
            painter.setColor(randomColor());
        }
        else {
            painter.setColor(randomColor());
        }
        painter.move();
        int balloonRadius = 30;
        SCircle ballon = new SCircle(balloonRadius);
        painter.paint(ballon);
        painter.setColor(Color.BLACK);
        painter.draw(ballon);
    }
    private static Color randomColor() {
        int rv = (int)(Math.random()*256);
        int gv = (int)(Math.random()*256);
        int bv = (int)(Math.random()*256);
        return new Color(rv,gv,bv);

    }

}