/* *Program that paints 100 red, yellow, and orange balloons in a blue sky. * It will 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 Balloons { //REQUIRED INFRASTRUCTURE public Balloons() { paintTheImage(); } private void paintTheImage() { SPainter painter = new SPainter("Balloons", 600, 600); paintSky(painter); //ask IntelliJ to generate the stub int nrOfBalloons = 100; paintBalloons(painter, nrOfBalloons); // ask IntelliJ to generate the stub } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new Balloons(); } }); //THE PAINTER DOING ITS THING } private static void paintBalloons(SPainter painter, int nrOfBalloons) { int i = 1; while (i <= nrOfBalloons) { paintOneBalloon(painter); // ask IntelliJ to generate the stub i = i + 1; } } private static void paintSky(SPainter painter) { painter.setColor(Color.BLUE); SSquare sky = new SSquare(2000); painter.paint(sky); } private static void paintOneBalloon(SPainter painter) { Random rgen = new Random(); int rn = rgen.nextInt(3); if (rn == 0) { painter.setColor(Color.RED); } else if (rn == 1) { painter.setColor(Color.ORANGE); } else painter.setColor(Color.YELLOW); painter.move(); int balloonRadius = 20; SCircle balloon = new SCircle(balloonRadius); painter.paint(balloon); painter.setColor(Color.BLACK); painter.draw(balloon); }}