1 /* 2 * This program will draw n numbers of circles and n number of squares using 2 different loops 3 */ 4 5 package npw; 6 7 import painter.SPainter; 8 import shapes.SCircle; 9 import shapes.SSquare; 10 import java.awt.*; 11 import java.util.Random; 12 13 14 public class Invention1 { 15 public static void main(String[] args) { 16 // Create the objects 17 18 int canvaslength = 600; 19 int canvaswidth = 600; 20 21 Color color1= randomColor(); 22 Color color2= randomColor(); 23 24 SPainter painter = new SPainter("Invention1", canvaslength, canvaswidth); 25 // paintSquare(painter, 10); 26 SCircle circle = new SCircle(250); 27 painter.setBrushWidth(3); 28 SSquare square = circle.inscribingSquare(); 29 paintCircle(painter, 10,circle,square, color1, color2); 30 31 32 } 33 private static void paintCircle(SPainter painter, int nrOfCircles,SCircle circle,SSquare square, Color color1, Color color2) { 34 35 int i = 0; 36 while (i <= nrOfCircles) { 37 painter.setColor(Color.black); 38 paintOneCircle(painter,circle,nrOfCircles,square, color1, color2); 39 i = i + 1; 40 } 41 } 42 private static void paintOneCircle(SPainter painter, SCircle circle, int nrOfCircles,SSquare square, Color color1, Color color2 ) { 43 44 // painter.moveToCenter(); 45 46 int i=0; 47 while(i<nrOfCircles) { 48 if (i<nrOfCircles/4){ 49 painter.setColor(color1); 50 painter.draw(circle); 51 painter.setColor(color2); 52 painter.draw(square); 53 circle.s2(); 54 square.s2(); 55 } 56 else { 57 painter.setColor(Color.black); 58 painter.paint(circle); 59 painter.setColor(Color.blue); 60 painter.paint(square); 61 circle.s2(); 62 square.s2(); 63 } 64 i = i + 1; 65 } 66 67 68 }private static Color randomColor() { 69 Random rgen= new Random(); 70 int r= rgen.nextInt(256); 71 int g= rgen.nextInt(256); 72 int b= rgen.nextInt(256); 73 return new Color(r,g,b);} 74 75 private static void paintSquare(SPainter painter, int nrOfSquares) { 76 int side= 50; 77 int i = 0; 78 while (i < nrOfSquares) { 79 SSquare square= new SSquare(side); 80 paintOneSquare(painter, square); 81 i = i + 1; 82 } 83 painter.moveToCenter(); 84 } 85 private static void paintOneSquare(SPainter painter, SSquare square) { 86 painter.setBrushWidth(5); 87 int i = 0; 88 int nrOfSquare = 10; 89 while (i < nrOfSquare) { 90 if (i < nrOfSquare / 2) { 91 painter.setColor(Color.GREEN); 92 painter.draw(square); 93 square.s2(); 94 } else { 95 painter.setColor(Color.blue); 96 painter.draw(square); 97 square.s2(); 98 } 99 i = i + 1; 100 } 101 } 102 } 103 104 105 106