1 /* 2 * Program that paints 300 balloons, each of radius 30, of 6 different 3 * “nameless” colors, will randomly populate the sky. 4 * It will feature commands. 5 */ 6 package npw; 7 import java.awt.Color; 8 import java.util.Random; 9 10 import javax.swing.SwingUtilities; 11 import painter.SPainter; 12 import shapes.SCircle; 13 import shapes.SSquare; 14 public class AlternateBalloons { 15 // REQUIRED INFRASTRUCTURE 16 public AlternateBalloons() { 17 paintTheImage(); 18 } 19 20 public static void main(String[] args) { 21 SwingUtilities.invokeLater(new Runnable() { 22 public void run() { 23 new AlternateBalloons(); 24 } 25 }); 26 } 27 28 // THE PAINTER DOING ITS THING 29 private void paintTheImage() { 30 SPainter painter = new SPainter("Balloons", 600, 600); 31 paintSky(painter); // ask IntelliJ to generate the stub 32 int nrOfBalloons = 300; 33 paintAlternateBalloons(painter, nrOfBalloons); // ask IntelliJ to generate the stub 34 } 35 36 private void paintSky(SPainter painter) { 37 painter.setColor(Color.BLUE); 38 SSquare sky = new SSquare(2000); 39 painter.paint(sky); 40 } 41 42 private void paintAlternateBalloons(SPainter painter, int nrOfBalloons) { 43 int i = 1; 44 while (i <= nrOfBalloons) { 45 paintOneBalloon(painter); // ask IntelliJ to generate the stub 46 i = i + 1; 47 } 48 } 49 50 private void paintOneBalloon(SPainter painter) { 51 Random rgen = new Random(); 52 int rn = rgen.nextInt(6); 53 if (rn == 0) { 54 painter.setColor(Color.PINK); 55 } else if (rn == 1) { 56 painter.setColor(green()); 57 } else if (rn == 2) { 58 painter.setColor(Color.GRAY); 59 } else if (rn == 3) { 60 painter.setColor(orange()); 61 } else if (rn == 4) { 62 painter.setColor(purple()); 63 } else { 64 painter.setColor(yellow()); 65 } 66 painter.move(); 67 int balloonRadius = 30; 68 SCircle balloon = new SCircle(balloonRadius); 69 painter.paint(balloon); 70 painter.setColor(Color.BLACK); 71 painter.draw(balloon); 72 } 73 private static Color green() { 74 int rv = (int)(Math.random()*169); 75 int gv = (int)(Math.random()*235); 76 int bv = (int)(Math.random()*186); 77 return new Color(rv,gv,bv); 78 } 79 private static Color purple() { 80 int rv = (int)(Math.random()*211); 81 int gv = (int)(Math.random()*173); 82 int bv = (int)(Math.random()*255); 83 return new Color(rv,gv,bv); 84 } 85 private static Color orange() { 86 int rv = (int)(Math.random()*252); 87 int gv = (int)(Math.random()*201); 88 int bv = (int)(Math.random()*124); 89 return new Color(rv,gv,bv); 90 } 91 private static Color yellow() { 92 int rv = (int)(Math.random()*255); 93 int gv = (int)(Math.random()*252); 94 int bv = (int)(Math.random()*173); 95 return new Color(rv,gv,bv); 96 } 97 } 98 99 100 101