1 package npw; 2 3 import painter.SPainter; 4 import shapes.SCircle; 5 import shapes.SSquare; 6 7 import javax.swing.*; 8 import java.awt.*; 9 import java.util.Random; 10 11 public class AlternateBalloons { 12 //required infrastructure 13 14 public AlternateBalloons(){ 15 paintTheImage(); 16 } 17 18 public static void main(String[] args) { 19 SwingUtilities.invokeLater(new Runnable() { 20 @Override 21 public void run() { 22 new AlternateBalloons(); 23 } 24 }); 25 } 26 27 //Painter doing its thing 28 private void paintTheImage(){ 29 SPainter painter=new SPainter("Alternate Balloons",600,600); 30 paintSky(painter); 31 int nrOfBalloons=300; 32 paintBalloons(painter,nrOfBalloons); 33 } 34 35 private void paintBalloons(SPainter painter, int nrOfBalloons) { 36 int i=1; 37 while(i<=nrOfBalloons){ 38 paintOneBalloon(painter); 39 i=i+1; 40 } 41 } 42 private static Color randomColor() { 43 Random rgen = new Random(); 44 int r = rgen.nextInt(256); 45 int g = rgen.nextInt(256); 46 int b = rgen.nextInt(256); 47 return new Color(r, b, g); 48 } 49 Color color1 = randomColor(); 50 Color color2 = randomColor(); 51 Color color3 = randomColor(); 52 Color color4 = randomColor(); 53 Color color5 = randomColor(); 54 Color color6 = randomColor(); 55 private void paintOneBalloon(SPainter painter) { 56 Random rgen=new Random(); 57 58 59 int rn=rgen.nextInt(6); 60 if(rn==0){ 61 painter.setColor(color1); 62 }else if(rn==1){ 63 painter.setColor(color2); 64 }else if(rn==2){ 65 painter.setColor(color3); 66 }else if(rn==3){ 67 painter.setColor(color4); 68 }else if(rn==4){ 69 painter.setColor(color5); 70 }else { 71 painter.setColor(color6); 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 81 private void paintSky(SPainter painter) { 82 painter.setColor(Color.BLUE); 83 SSquare sky=new SSquare(2000); 84 painter.paint(sky); 85 } 86 }