1 // Building code for balloons to populate a blue sky. The 300 balloons (with radius 30) must be six different colors. 2 // The different colors must be nameless, meaning you must use a color constructor 3 4 package npw; 5 6 import java.awt.Color; 7 import java.util.Random; 8 import javax.swing.SwingUtilities; 9 import painter.SPainter; 10 import shapes.SCircle; 11 import shapes.SSquare; 12 13 public class AlternateBalloons { 14 // REQUIRED INFRASTRUCTURE 15 public AlternateBalloons() { 16 paintTheImage(); 17 } 18 19 public static void main(String[] args) { 20 SwingUtilities.invokeLater(new Runnable() { 21 public void run() { 22 new AlternateBalloons(); 23 } 24 }); 25 } 26 27 private void paintTheImage() { 28 SPainter painter = new SPainter("Alternate Balloons", 600, 600); 29 paintSky(painter); // line 56 30 int nrOfBalloons = 300; 31 paintBalloons(painter,nrOfBalloons); // line 31 32 } 33 34 private void paintBalloons(SPainter painter, int nrOfBalloons) { 35 int i = 1; 36 while (i <= nrOfBalloons) { 37 paintOneBalloon(painter); 38 i = i + 1; 39 } 40 } 41 42 private void paintOneBalloon(SPainter painter) { 43 Random rgen = new Random(); 44 int rn = rgen.nextInt(6); 45 if (rn==0) { 46 painter.setColor(lightBlue); 47 } else if (rn == 1) { 48 painter.setColor(lightPink); 49 } else if (rn==2) { 50 painter.setColor(lightGreen); 51 } else if (rn==3) { 52 painter.setColor(Salmon); 53 } else if (rn==4) { 54 painter.setColor(Burgundy); 55 } else if (rn==5) { 56 painter.setColor(lightOrange); 57 } else { 58 painter.setColor(Olive); 59 } 60 painter.move(); 61 int balloonRadius = 30; 62 SCircle balloon = new SCircle(balloonRadius); 63 painter.paint(balloon); 64 painter.setColor(Color.black); 65 painter.draw(balloon); 66 } 67 Color lightBlue = new Color (147, 242, 249); 68 Color lightPink = new Color (241, 193, 245); 69 Color lightGreen = new Color (102, 249, 161); 70 Color Salmon = new Color (248, 128, 114); 71 Color Burgundy = new Color(102, 0, 0); 72 Color lightOrange = new Color (255, 178, 102); 73 Color Olive = new Color (51, 102, 0); 74 75 private void paintSky(SPainter painter) { 76 painter.setColor(Color.blue); 77 SSquare sky = new SSquare(2000); 78 painter.paint(sky); 79 } 80 } 81 82