/* Variation of the balloons program. there will be 300 balloons with a radius of 30 */ package npw; import java.awt.Color; import java.util.Random; import javax.swing.SwingUtilities; import painter.SPainter; import shapes.SCircle; import shapes.SSquare; public class AlternateBalloons { //required infrastructure public AlternateBalloons() { paintTheImage(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new AlternateBalloons(); } }); } //the painter doing its thing private void paintTheImage() { SPainter painter = new SPainter("AlternateBalloons", 600, 600); paintSky(painter); int nrOfBalloons = 300; paintAlternateBalloons(painter, nrOfBalloons); } private static Color rv(){ int rv = (int) (Math.random() * 160); return new Color(rv); } private static Color gv(){ int gv = (int) (Math.random() * 160); return new Color(gv); } private static Color bv(){ int bv = (int) (Math.random() * 160); return new Color(bv); } private void paintSky(SPainter painter) { painter.setColor(Color.BLUE); SSquare sky = new SSquare(2000); painter.paint(sky); } 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.RED); } else if (rn == 1) { painter.setColor(Color.ORANGE); } else if (rn == 2) { painter.setColor(Color.YELLOW); } else if (rn == 3){ painter.setColor(rv()); } else if (rn == 4){ painter.setColor(gv()); }else{ painter.setColor(bv()); } painter.move(); int balloonRadius = 30; SCircle balloon = new SCircle((balloonRadius)); painter.paint(balloon); painter.setColor(Color.BLACK); painter.draw(balloon); } }