1 /* 2 * The program paints 300 each of a radius of 30, and of 6 different colors. 3 * It will feature commands. 4 * 5 * */ 6 7 package npw; 8 9 import painter.SPainter; 10 import shapes.SCircle; 11 import shapes.SSquare; 12 13 import javax.swing.*; 14 import java.awt.*; 15 import java.util.Random; 16 17 public class AlternateBalloons { 18 19 // REQUIRED CODE 20 public AlternateBalloons() { 21 paintTheImage(); 22 } 23 24 public static void main(String[] args) { 25 SwingUtilities.invokeLater(new Runnable() { 26 public void run() { 27 new AlternateBalloons(); 28 } 29 }); 30 } 31 32 // The Painter Doing The Thing 33 34 private void paintTheImage() { 35 SPainter painter = new SPainter("Balloons", 600, 600); 36 paintSky(painter); // ask IntelliJ to generate the stub 37 int nrOfBalloons = 300; 38 paintBalloons(painter, nrOfBalloons); // Generate the stub 39 } 40 41 private void paintBalloons(SPainter painter, int nrOfBalloons) { 42 int i = 1; 43 while ( i <= nrOfBalloons ) { 44 paintOneBalloon(painter); // ask IntelliJ to generate the stub 45 i = i + 1; 46 } 47 } 48 49 private void paintOneBalloon(SPainter painter) { 50 Random rgen = new Random(); 51 int rn = rgen.nextInt(6); 52 if (rn == 0) 53 { 54 painter.setColor(new Color(202,45,45)); 55 } 56 else if (rn == 1) 57 { 58 painter.setColor(new Color(48, 188, 48)); 59 } 60 else if (rn == 2) 61 { 62 painter.setColor(new Color(254, 66, 172)); 63 } 64 else if (rn == 3) 65 { 66 painter.setColor(new Color(255, 171, 0)); 67 } 68 else if (rn == 4) 69 { 70 painter.setColor(new Color(251, 255, 253)); 71 } 72 else if (rn == 5) 73 { 74 painter.setColor(new Color(94, 236, 255)); 75 } 76 else 77 { 78 painter.setColor(new Color(127, 61, 146)); 79 } 80 painter.move(); 81 int balloonRadius = 30; 82 SCircle balloon = new SCircle(balloonRadius); 83 painter.paint(balloon); 84 painter.setColor(Color.BLACK); 85 painter.draw(balloon); 86 } 87 88 private void paintSky(SPainter painter) { 89 painter.setColor(Color.BLUE); 90 painter.setColor(new Color(8, 38,66)); 91 SSquare sky = new SSquare(2000); 92 painter.paint(sky); 93 } 94 }