1 package mathematics; 2 3 import painter.SPainter; 4 import shapes.SCircle; 5 import shapes.SSquare; 6 import javax.swing.SwingUtilities; 7 import java.awt.Color; 8 import java.util.Random; 9 10 public class AlternateBalloons { 11 12 //requires infrastructure 13 public AlternateBalloons(){ 14 paintTheImage(); 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 //Painter doing its thing 25 private void paintTheImage() { 26 SPainter painter = new SPainter("Alternate Balloons", 600, 600); 27 paintSky(painter); 28 int nrOfballoons= 300; 29 paintBalloons(painter,nrOfballoons); 30 } 31 private void paintSky(SPainter painter) { 32 painter.setColor(Color.BLUE); 33 SSquare sky = new SSquare(2000); 34 painter.paint(sky); 35 } 36 37 private void paintBalloons(SPainter painter, int nrOfballoons) { 38 int i = 1; 39 while (i <= nrOfballoons) { 40 paintOneBalloon(painter); 41 i = i + 1; 42 } 43 } 44 45 private void paintOneBalloon(SPainter painter) { 46 Random rgen = new Random(); 47 int rn = rgen.nextInt(6); 48 if (rn == 0){ 49 painter.setColor(randomColor()); 50 }else if (rn == 1){ 51 painter.setColor(randomColor()); 52 } 53 else if (rn == 2){ 54 painter.setColor(randomColor()); 55 } 56 else if (rn == 3){ 57 painter.setColor(randomColor()); 58 } 59 else if (rn == 4){ 60 painter.setColor(randomColor()); 61 } 62 else if (rn == 5){ 63 painter.setColor(randomColor()); 64 } 65 else { 66 painter.setColor(randomColor()); 67 } 68 painter.move(); 69 int balloonRadius = 30; 70 SCircle balloon = new SCircle(balloonRadius); 71 painter.paint(balloon); 72 painter.setColor(Color.BLACK); 73 painter.draw(balloon); 74 } 75 private Color randomColor(){ 76 int rv = (int)(Math.random()*256); 77 int gv = (int)(Math.random()*256); 78 int bv = (int)(Math.random()*256); 79 return new Color(rv,gv,bv); 80 } 81 } 82 83