/* Program that paints 300 balloons in a blue sky. It will feature commands. */ package npw; import painter.SPainter; import shapes.SCircle; import shapes.SSquare; import javax.swing.*; import java.awt.*; import java.util.Random; public class AlternateBalloons { // required Infrastructure public AlternateBalloons(){ paintTheImage(); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run () { new AlternateBalloons(); } }); } //the painter doing its thing private void paintTheImage() { SPainter painter = new SPainter("Balloons", 600 ,600); paintSky(painter); int nrOfBalloons = 300; paintBalloons(painter,nrOfBalloons); } private void paintSky(SPainter painter) { painter.setColor(Color.BLUE); SSquare sky = new SSquare(2000); painter.paint(sky); } private void paintBalloons(SPainter painter, int nrOfBalloons) { int i = 1; while ( i <= nrOfBalloons){ paintOneBalloon(painter); i = 1 + i; } } private void paintOneBalloon(SPainter painter) { Random rgen = new Random(); int rn = rgen.nextInt(6); if (rn == 0) { painter.setColor(new Color(250 ,6,30)); }else if (rn == 1) { painter.setColor(new Color(65 ,176,20)); }else if (rn == 2) { painter.setColor(new Color(205 ,176,20)); }else if (rn == 3) { painter.setColor(new Color(90 ,16,120)); }else if (rn == 4) { painter.setColor(new Color(5 ,100,170)); }else { painter.setColor(new Color(255 ,100,180)); } painter.move(); int balloonRadius = 30; SCircle balloon = new SCircle(balloonRadius); painter.paint(balloon); painter.setColor(Color.BLACK); painter.draw(balloon); } }