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 public AlternateBalloons(){ 13 paintTheImage(); 14 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 private void paintTheImage() { 26 SPainter painter = new SPainter("Balloons", 600, 600); 27 paintSky(painter); 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 int rn = rgen.nextInt(6); 49 if(rn == 0){ 50 painter.setColor(randomColor()); 51 }else if(rn == 1){ 52 painter.setColor(randomColor()); 53 }else if(rn == 2){ 54 painter.setColor(randomColor()); 55 }else if(rn == 3){ 56 painter.setColor(randomColor()); 57 }else if(rn == 4){ 58 painter.setColor(randomColor()); 59 }else { 60 painter.setColor(randomColor()); 61 } 62 painter.move(); 63 int balloonRadius = 30; 64 SCircle balloon = new SCircle(balloonRadius); 65 painter.paint(balloon); 66 painter.setColor(Color.black); 67 painter.draw(balloon); 68 } 69 70 private Color randomColor() { 71 int rv = (int)(Math.random()*256); 72 int gv = (int)(Math.random()*256); 73 int bv = (int)(Math.random()*256); 74 return new Color(rv, gv, bv); 75 } 76 } 77