import java.applet.*; 
import java.awt.*; 
import java.awt.image.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*; 
import java.text.*; 
import java.util.*; 
import java.util.zip.*; 

public class udk_01_ecepala_1staticfw extends BApplet {
// UdK Computational design
// Ece Pala 2003
// static flower
//-- the colorMode made the whole thing so slow, so I didn't put "framerate()"
//actually I wanted the script only change the flower everytime I click, but not if the button is pressed continuously. It won't do it, because it' s a loop. How to make the mouse() element work without a loop?
// for sure there is an easier and shorter way to do this :-)

 int r = (int)(random(-20)); 
 
void setup() {
size(300,400);
lights();
}

void loop() {
colorMode(RGB, 255); 
for(int i=0; i<300; i++) { 
  for(int j=0; j<400; j++) { 
    stroke(i, j, 0); 
    point(i, j); 
  } 
} 
translate(width/2,200);
noStroke();
fill(0,153,51); 
beginShape(POLYGON);
bezierVertex(50,-300);
bezierVertex(-100,-280);
bezierVertex(-100,10);
bezierVertex(5,36);
bezierVertex(14,36);
bezierVertex(-90,20);
bezierVertex(-90,-285);
bezierVertex(50,-200);
endShape();

translate(-2,-52);
rotate(10);
noStroke(); 
fill(0,170,110);
ellipse(0,0,80,20);
rotate(30);
translate(-40,105);
noStroke(); 
fill(0,170,151);
ellipse(0,0,100,30);

if (mousePressed) { 
 int m = (int)(random(10)); 
 int n = (int)(random(50)+10); 
 int o = (int)(random(100)); 

translate(65,-230);
ellipseMode(CORNER); 
// Cumulative transforms can be used creatively
for(int i=0; i<6; i++) {
 int r = (int)(random(255)+10); 
 int g = (int)(random(255)); 
 int b = (int)(random(255)); 
 stroke(r,g,b); 
 line(30,30,o,n);
  fill(r,g,b);
  translate(55,0);
rotate(radians(60));
  ellipse(0,0,o+20,n);
}

translate(8-n/4,26-n/4);
noStroke(); 
  fill(255,255,0);
  ellipse(0,0,40+n/2,40+n/2);

}
else { 
 translate(65,-230);
for(int i=0; i<6; i++) {
  stroke(102,0,0); 
  fill(225-r,0,-1*r);
  translate(45,0);
rotate(radians(60));
  ellipse(0,0,40-r,40-r);
}

  } 

} 

}
