It's possible to nest loops inside other loops.
Hier is an example with a built-in ScreenshotScreen Shot-function
Code Block |
---|
void setup() { size(600,600); // def. window size strokeWeight(1); // line thickness } void draw() { background(255); // def. background colour for(int x = 0; x <= width; x+=30) { for(int y = 0; y <= height; y+=30) { smiley(x,y); // funtion call } } } void keyPressed() { switchif(key) { case == 's':) { save("screenShot.jpg"); println("save the screen to screenShot.jpg"); break; } } // function void smiley(int x, int y) { println("smiley"); noFill(); ellipse(x,y,18,18); // head fill(0); ellipse(x - 3,y - 3,2,5); // left eye ellipse(x + 3,y - 3,2,5); // right eye noFill(); arc(x,y,10,10,radians(20),radians(180-20)); // mouth } |
...
- Create a new shape instead of the smiley, and put exactly 100 repeations repetitions on the screen
- Modify the colour of your and/or the shape with each repetition
Example Solution to Exercise 7
Code Block | ||
---|---|---|
| ||
int red; int green; int blue; int myShapeSpacingX; int myShapeSpacingY; int offset = 30; // used to create an empty border around gridW = 60; void setup() { size(500660, 500660); myShapeSpacingX = (width-offset*2)/10noStroke(); // offset is for left and right side myShapeSpacingY = (height-offset*2)/10; // offset is for top and bottom side colorMode(HSB); } void draw() { background(255); for (int i =01; i<=10; i++) { green+=10; for (int j =01; j<=10; j++) { float hue red+=10= j*i*2.5; fill(color(red, greenhue,150, blue255)); myShape(offset+i*myShapeSpacingXW, offset+j*myShapeSpacingYW); } red = 0; } green = 0; } void myShape(int x, int y) { int D = W/3; //ellipse(x, y, 30W, 30W); ellipsetriangle(x, y-15, 15, 15-D, x-D, y+D, x+D, y+D); } |