1 package npw; 2 3 /* 4 * Program that paints 300 balloons of 6 different colors in a blue sky. 5 * It will feature commands. 6 */ 7 8 import java.awt.Color; 9 import java.util.Random; 10 import javax.swing.SwingUtilities; 11 import painter.SPainter; 12 import shapes.SCircle; 13 import shapes.SSquare; 14 15 public class AlternateBalloons { 16 17 //REQUIRED INFRASTRUCTURE 18 19 public AlternateBalloons() 20 { 21 paintTheImage(); 22 } 23 24 public static void main(String[] args) 25 { 26 SwingUtilities.invokeLater(new Runnable() { 27 public void run() { 28 new AlternateBalloons(); 29 } 30 }); 31 } 32 33 //THE PAINTER DOING ITS THING 34 35 private void paintTheImage() { 36 SPainter painter = new SPainter("Balloons", 600, 600); 37 paintSky(painter); // ask IntelliJ to generate the stub 38 int nrOfBalloons = 300; 39 paintBalloons(painter, nrOfBalloons); // ask IntelliJ to generate the stub 40 } 41 42 43 private void paintSky(SPainter painter) { 44 painter.setColor(Color.BLUE); 45 SSquare sky = new SSquare(2000); 46 painter.paint(sky); 47 } 48 49 private void paintBalloons(SPainter painter, int nrOfBalloons) { 50 int i = 1; 51 while (i <= nrOfBalloons) 52 { 53 paintOneBalloon(painter); // ask intelliJ to generate the stub 54 i = i + 1; 55 } 56 57 } 58 59 private void paintOneBalloon(SPainter painter) { 60 Random rgen = new Random(); 61 int rn = rgen.nextInt(6); 62 if (rn == 0) 63 { 64 painter.setColor(new Color(123, 45, 250)); 65 } 66 else if (rn == 1) 67 { 68 painter.setColor(new Color(214, 77, 117)); 69 } 70 else if (rn == 2) 71 { 72 painter.setColor(new Color(87, 200, 187)); 73 } 74 else if (rn == 3) 75 { 76 painter.setColor(new Color(14, 107, 111)); 77 } 78 else if (rn == 4) 79 { 80 painter.setColor(new Color(32, 45, 52)); 81 } 82 else 83 { 84 painter.setColor(new Color(247, 36, 49)); 85 } 86 painter.move(); 87 int balloonRadius = 30; 88 SCircle balloon = new SCircle(balloonRadius); 89 painter.paint(balloon); 90 painter.setColor(Color.black); 91 painter.draw(balloon); 92 } 93 94 95 } 96