/home/sjenks/NetBeansProjects/CS1/src/npw/inventions2b.java
  1 /*
  2  * Program that paints 300 "colorless" balloons in a blue sky.
  3  * It will feature commands. 
  4  */
  5 package npw;
  6 
  7 import java.awt.Color;
  8 import java.util.Random;
  9 import java.util.Scanner;
 10 import javax.swing.JOptionPane;
 11 import javax.swing.SwingUtilities;
 12 import painter.SPainter;
 13 import shapes.SRectangle;
 14 
 15 /**
 16  *
 17  * @author sjenks
 18  */
 19 public class inventions2b {
 20 
 21     public inventions2b() {
 22         paintTheImage();
 23     }
 24 
 25     public static void main(String[] args) {
 26         SwingUtilities.invokeLater(new Runnable() {
 27             public void run() {
 28                 new inventions2b();
 29             }
 30         });
 31     }
 32 
 33     //THE PAINTER DOING ITS THING
 34     private void paintTheImage() {
 35         int nrOfRectangles = 1000;
 36         int legoHeight = getnumber("Height of Lego");
 37         int legoWidth = (5 * legoHeight);
 38         SPainter painter = new SPainter("Settign Sun", 600, 600);
 39         SRectangle lego = new SRectangle(legoHeight,legoWidth);
 40         paintLegos(painter, nrOfRectangles, lego); //ask Netbeams to generate the stub
 41         //to make the sun
 42        paintSun(legoWidth, legoHeight, lego, painter);
 43        
 44        
 45     }
 46 
 47     private void paintLegos(SPainter painter, int nrOfRectangles,SRectangle lego) {
 48         int i = 1;
 49         while (i <= nrOfRectangles) {
 50             paintOneLego(painter, lego); //ask NetBeams to create a stub
 51             i = i + 1;
 52 
 53         }
 54     }
 55 
 56     private void paintOneLego(SPainter painter, SRectangle lego) {
 57         Color constr1 = randomColors();
 58         Color constr2 = randomColors();
 59         Color constr3 = randomColors();
 60         Color constr4 = randomColors();
 61         Color constr5 = randomColors();
 62         Color constr6 = randomColors();
 63         Random rgen = new Random();
 64         int rn = rgen.nextInt(6);
 65         if (rn == 0) {
 66             painter.setColor(constr1);
 67         } else if (rn == 1) {
 68             painter.setColor(constr2);
 69         } else if (rn == 2) {
 70             painter.setColor(constr3);
 71         } else if (rn == 3) {
 72             painter.setColor(constr4);
 73         } else if (rn == 4) {
 74             painter.setColor(constr5);
 75         } else {
 76             painter.setColor(constr6);
 77         }
 78 
 79         painter.move();
 80         painter.paint(lego);
 81         painter.setColor(Color.BLACK);
 82         painter.draw(lego);
 83 
 84     }
 85 
 86     private int getnumber(String prompt) {
 87         String nss = JOptionPane.showInputDialog(null, prompt + "?");
 88         Scanner scanner = new Scanner(nss);
 89         return scanner.nextInt();
 90     }
 91 
 92     private Color randomColors() {
 93         Random rgen = new Random();
 94         int r = rgen.nextInt(256);
 95         int g = rgen.nextInt(256);
 96         int b = rgen.nextInt(256);
 97         return new Color(r, b, g);
 98     }
 99 
100     private void paintSun(int legoWidth, int legoHeight, SRectangle lego, SPainter painter) {
101         // to make the first block
102         painter.setColor(Color.YELLOW);
103         painter.paint(lego );
104         int i = 1;
105         while (i< (legoWidth/legoHeight)){
106             painter.mbk(legoHeight);
107             painter.paint(lego);
108             i= i+1;
109         }
110         
111 //        painter.paint(lego);
112 //        //to make the second block 
113 //        painter.mbk(legoHeight);
114 //        painter.paint(lego);
115 //        painter.mfd(legoHeight);
116 //        //to make the third blcok  
117 //        painter.mbk(legoWidth);
118 //        painter.paint(lego);
119 //        painter.mfd(legoWidth);
120     }
121 
122 }
123