1 /* Program that paints 300 nameless colored balloons in a blue sky. 2 * It will feature commands. 3 */ 4 5 package npw; 6 7 import java.awt.Color; 8 import java.util.Random; 9 import painter.SPainter; 10 import shapes.SCircle; 11 import shapes.SSquare; 12 import javax.swing.*; 13 14 public class AlternateBalloons { 15 16 //REQUIRED INFRASTRUCTURE 17 18 public AlternateBalloons(){ 19 paintTheImage(); 20 } 21 22 public static void main(String[] args) { 23 SwingUtilities.invokeLater(new Runnable() { 24 public void run() { 25 new AlternateBalloons(); 26 } 27 }); 28 } 29 30 //THE PAINTER DOING ITS THING 31 32 private void paintTheImage() { 33 SPainter painter = new SPainter("Balloons", 600, 600); 34 paintSky(painter); // ask IntelliJ to generate the stub 35 int nrOfBalloons = 300; 36 paintBalloons(painter,nrOfBalloons); // ask IntelliJ to generate the stub 37 } 38 39 private void paintSky(SPainter painter) { 40 painter.setColor(Color.BLUE); 41 SSquare sky = new SSquare(2000); 42 painter.paint(sky); 43 } 44 45 private void paintBalloons(SPainter painter, int nrOfBalloons){ 46 int i = 1; 47 while( i <= nrOfBalloons) { 48 paintOneBalloon(painter); //ask IntelliJ to generate the stub 49 i = i + 1; 50 51 } 52 } 53 54 private void paintOneBalloon(SPainter painter) { 55 Random rgen = new Random(); 56 int rn = rgen.nextInt(6); 57 if ( rn == 0) { 58 painter.setColor(new Color(210, 170, 255)); 59 } else if (rn == 1) { 60 painter.setColor(new Color(253, 255, 15)); 61 } else if (rn == 2){ 62 painter.setColor(new Color(10, 100, 180)); 63 } else if (rn == 3) { 64 painter.setColor(new Color(255, 75, 120)); 65 } else if ( rn == 4) { 66 painter.setColor(new Color(52, 255, 92)); 67 } else { 68 painter.setColor(new Color(85, 180, 150)); 69 } 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