1 /* 2 *Program that paints 100 red and orange balloons in a blue sky. 3 * it will feature commands 4 */ 5 package npw; 6 7 import painter.SPainter; 8 import shapes.SCircle; 9 import shapes.SSquare; 10 11 import javax.swing.*; 12 import java.awt.*; 13 import java.util.Random; 14 15 public class Balloons { 16 //Required infrastructure 17 public Balloons(){ 18 paintTheImage(); 19 } 20 public static void main(String[] args){ 21 SwingUtilities.invokeLater(new Runnable() { 22 public void run() { 23 new Balloons(); 24 } 25 }); 26 } 27 //The painter doing its thing 28 private void paintTheImage(){ 29 SPainter painter = new SPainter("Balloons", 600,600); 30 paintSky(painter); //ask intelij to generate new stub 31 int nrOfBalloons = 100; 32 paintBalloons(painter,nrOfBalloons);//ask intelij to generate new stub 33 } 34 35 private void paintSky(SPainter painter) { 36 painter.setColor(Color.BLUE); 37 SSquare sky = new SSquare(2000); 38 painter.paint(sky); 39 } 40 41 private void paintBalloons(SPainter painter, int nrOfBalloons) { 42 int i = 1; 43 while (i <= nrOfBalloons ){ 44 paintOneBalloon(painter);//ask intelij to generate new stub 45 i = i + 1; 46 } 47 } 48 49 private void paintOneBalloon(SPainter painter) { 50 Random rgen = new Random(); 51 int rn = rgen.nextInt(3); 52 if ( rn == 1){ 53 painter.setColor(Color.RED); 54 }else if ( rn == 1 ){ 55 painter.setColor(Color.ORANGE); 56 }else{ 57 painter.setColor(Color.YELLOW); 58 } 59 painter.move(); 60 int balloonRadius = 20; 61 SCircle balloon = new SCircle(balloonRadius); 62 painter.paint(balloon); 63 painter.setColor(Color.BLACK); 64 painter.draw(balloon); 65 } 66 } 67 68