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