/*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(); } }); } }