/* * Program that paints 300 different colored balloons in six "nameless" colors in a blue sky. * It will feature commands. */ package npw; import java.awt.Color; import java.util.Random; import javax.swing.SwingUtilities; import painter.SPainter; import shapes.SCircle; import shapes.SSquare; 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; paintAlternateBalloons(painter,nrOfBalloons); } private void paintSky(SPainter painter) { painter.setColor(Color.BLUE); SSquare sky = new SSquare(2000); painter.paint(sky); } private void paintAlternateBalloons(SPainter painter, int nrOfBalloons) { int i = 1; while ( i <= nrOfBalloons ) { paintOneBalloon(painter); i = i + 1; } } private void paintOneBalloon(SPainter painter) { Random rgen = new Random(); int rn = rgen.nextInt(6); Color one = new Color(0xdc98b6); Color two = new Color(0xc6b6e0); Color three = new Color(0xabd7e5); Color four = new Color(0xfb5d65); Color five = new Color(0x40cad5); Color six = new Color(0x8af897); if ( rn == 0) { painter.setColor(one); } else if ( rn == 1 ) { painter.setColor(two); } else if ( rn == 2 ) { painter.setColor(three); } else if ( rn == 3 ) { painter.setColor(four); } else if ( rn == 4 ) { painter.setColor(five); } else { painter.setColor(six); } painter.move(); int balloonRadius = 30; SCircle balloon = new SCircle(balloonRadius); painter.paint(balloon); painter.setColor(Color.BLACK); painter.draw(balloon); } }