1 package npw; 2 import java.awt.Color; 3 import java.util.Random; 4 import javax.swing.SwingUtilities; 5 import painter.SPainter; 6 import shapes.SCircle; 7 import shapes.SSquare; 8 9 public class AlternateBalloons { 10 11 //REQUIRED INFRASTRUCTURE 12 13 public AlternateBalloons() { 14 paintTheImage(); 15 } 16 17 public static void main(String[] args) { 18 SwingUtilities.invokeLater(new Runnable() { 19 public void run() { 20 new AlternateBalloons(); 21 } 22 }); 23 } 24 25 //THE PAINTER DOING ITS THING 26 27 private void paintTheImage() { 28 SPainter painter = new SPainter("Balloons", 600, 600); 29 paintSky(painter); // ask IntelliJ to generate the stub 30 int nrOfBalloons = 300; 31 paintBalloons(painter,nrOfBalloons); // asl InjelliJ to generate the stub 32 } 33 34 private void paintSky(SPainter painter) { 35 painter.setColor(Color.BLUE); 36 SSquare sky = new SSquare(2000); 37 painter.paint(sky); 38 } 39 40 private void paintBalloons(SPainter painter, int nrOfBalloons) { 41 int i = 1; 42 while (i <= nrOfBalloons) { 43 paintOneBalloon(painter); // ask IntelliJ to generate the stub 44 i = i + 1; 45 } 46 } 47 48 private static Color randomColor() { 49 int rv = (int) (Math.random() * 256); 50 int gv = (int) (Math.random() * 256); 51 int bv = (int) (Math.random() * 256); 52 return new Color(rv, gv, bv); 53 } 54 55 private void paintOneBalloon(SPainter painter) { 56 Random rgen = new Random(); 57 int rn = rgen.nextInt(6); 58 if ( rn == 0 ) { 59 painter.setColor(Color.RED); 60 } else if (rn == 1 ) { 61 painter.setColor(Color.ORANGE); 62 } else if (rn == 2) { 63 painter.setColor(Color.BLUE); 64 } else if (rn == 3) { 65 painter.setColor(Color.YELLOW); 66 } else if (rn == 4) { 67 painter.setColor(Color.GREEN); 68 } else { 69 painter.setColor(Color.PINK); 70 } 71 72 painter.move(); 73 int balloonRadius = 30; 74 SCircle balloon = new SCircle(balloonRadius); 75 painter.paint(balloon); 76 painter.setColor(Color.BLACK); 77 painter.draw(balloon); 78 } 79 } 80