mirror of
https://github.com/processing/processing4.git
synced 2026-01-29 19:31:16 +01:00
29 lines
662 B
Plaintext
29 lines
662 B
Plaintext
/**
|
|
* Recursion.
|
|
*
|
|
* A demonstration of recursion, which means functions call themselves.
|
|
* Notice how the drawCircle() function calls itself at the end of its block.
|
|
* It continues to do this until the variable "level" is equal to 1.
|
|
*/
|
|
|
|
void setup() {
|
|
size(640, 360);
|
|
noStroke();
|
|
noLoop();
|
|
}
|
|
|
|
void draw() {
|
|
drawCircle(width/2, 280, 6);
|
|
}
|
|
|
|
void drawCircle(int x, int radius, int level) {
|
|
float tt = 126 * level/4.0;
|
|
fill(tt);
|
|
ellipse(x, height/2, radius*2, radius*2);
|
|
if(level > 1) {
|
|
level = level - 1;
|
|
drawCircle(x - radius/2, radius/2, level);
|
|
drawCircle(x + radius/2, radius/2, level);
|
|
}
|
|
}
|