#include "Canvas.as"

var C = new Canvas();

// set initial properties
C.setBackgroundColor(.3, .7, 0);
C.setPenColor(0, .4, 0)

// draw basic stem shape with leaves and loop for shading
for (var x = 0; x < .02; x += .01) {
C.setPenWeight(.05 - x)
C.drawLine(.3 - x, .8, .45 - x, .9);
C.drawLine( .43 - x, .46, .3 - x, .7);
C.drawLine(.3 - x, .7, .2 - x, 1);
C.drawLine(.35 - x, .55, .32 - x, .48);
C.drawLine( .32 - x, .48, .25 - x, .35);
C.drawLine(.25 - x, .35, .05 - x, .4);
C.drawLine(.05 - x, .4, .2 - x, .6);
C.drawLine(.2 - x, .6, .35 - x, .55);
C.drawLine(.35 - x, .55, .2 - x, .45);
C.drawLine(.3 - x, .8, .45 - x, .8);
C.drawLine(.45 - X, .8, .55 - x, .95);
C.drawLine(.55 - x, .95, .4 - x, .97);
C.drawLine(.4 - x, .97, .3 - x, .8);
C.drawLine(.3 - x, .8, .45 - x, .9);
C.setPenColor(.5, .8, .4);
}

// draw the inside of the flower pedal with loop for shading
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02);

for (var z = 0; z < .02; z = z + .01) {
C.drawLine(.68 - z, .39, .71 -z, .36);
C.drawLine(.71 - z, .36, .74 - z, .39);
C.drawLine(.74 - z, .39, .68 - z, .39);
C.setPenColor(.8, .2, 0);
C.setPenWeight(.02 - z)
}

// draw first set of flower pedals
// set parameters and starting point
var x = .76;
var y = .33;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02);
var width1 = .03;
var height1 = .1;
var width2 = .04;
var height2 = .07;

// Pedal 1a
for (var i = 0; i < 2; i++) { //loop for shading

for (var z = 0; z < .02; z = z + .01) {
C.drawLine( x -z, y, x + width1 - z, y + .25*height1);
C.drawLine(x + width1 -z, y + .25*height1, x + width1 -z, y + .75*height1);
C.drawLine(x + width1 -z, y + .75*height1, x -z, y + height1);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

//move starting point and reset values
var x = x - .5*width1;
var y = y + height1 + width1;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02)

//Pedal 2a
for (var z = 0; z < .02; z += .01) { //loop for shading
C.drawLine(x - z, y, x - .25*height2 -z, y + width2);
C.drawLine(x - .25*height2 - z, y + width2, x - .75*height2 - z, y + width2);
C.drawLine(x - .75*height2 -z, y + width2, x - height2 -z, y);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

//move starting point and reset values
var x = x - height2 -width2*.5;
var y = y -width2*.5;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02)

//Pedal 3a
for (var z = 0; z < .02; z += .01) { //loop for shading
//draw pedal
C.drawLine( x -z, y, x - width1 - z, y - .25*height1);
C.drawLine(x - width1 - z, y - .25*height1, x - width1 - z, y - .75*height1);
C.drawLine(x - width1 - z, y - .75*height1, x - z, y - height1);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

//move starting point and reset values
var x = x + .5*width1;
var y = y - height1 -.5*width1;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02)

//Pedal 4a
for (var z = 0; z < .02; z += .01) { //loop for shading
//draw pedal
C.drawLine(x - z, y, x + .25*height2 - z, y - width2);
C.drawLine(x + .25*height2 - z, y - width2, x + .75*height2 - z, y - width2);
C.drawLine(x + .75*height2 - z, y - width2, x + height2 - z, y);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

// expand perameters for next group of pedals in outer loop
var x = .88;
var y = .2;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.03);
var width1 = .105;
var height1 = .27;
var width2 = .15;
var height2 = .25;
}

//Draw second set of pedals
//move starting point and set new parameters
var x = .83;
var y = .415;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02);
var width1 = .12;
var height1 = .15;

for (var i = 0; i < 2; i++) {

// Pedal 1b
for (var z = 0; z < .02; z = z + .01) { //loop for shading
C.drawLine( x - z, y, x + .25*width1 - z, y + .5*height1);
C.drawLine(x + .25*width1 - z, y + .5*height1, x - .25*width1 - z , y + height1);
C.drawLine(x - .25*width1 - z, y + height1, x - .75*width1 - z, y + .75*height1);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

//move starting point and reset values
var x = x - .75*width1 - .5*height1;
var y = y + .75*height1;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02);

// Pedal 2b
for (var z = 0; z < .02; z = z + .01) { //loop for shading
C.drawLine( x -z, y, x -.5*width1 - z, y + .25*height1);
C.drawLine(x -.5*width1 - z, y + .25*height1, x - width1 - z, y - .25*height1);
C.drawLine(x - width1 - z, y - .25*height1, x - .75*width1 - z, y - .75*height1);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

//move starting point and reset values
var x = x - .75*width1;
var y = y - .75*height1 - .5*height1;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02);

// Pedal 3b
for (var z = 0; z < .02; z = z + .01) { //loop for shading
//draw pedal
C.drawLine( x - z, y, x - .25*width1 - z, y - .5*height1);
C.drawLine(x - .25*width1 - z, y - .5*height1, x + .25*width1 - z, y - height1);
C.drawLine(x + .25*width1 - z, y - height1, x + .75*width1 - z, y - .75*height1);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

//move starting point and reset values
var x = x + .75*width1 + .5*height1;
var y = y -.75*height1;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.02);

// Pedal 3b
for (var z = 0; z < .02; z = z + .01) { //loop for shading
//draw pedal
C.drawLine( x - z, y, x +.5*width1 - z, y - .25*height1);
C.drawLine(x +.5*width1 - z, y - .25*height1, x + width1 - z, y + .25*height1);
C.drawLine(x + width1 - z, y + .25*height1, x + .75*width1 - z, y + .75*height1);
C.setPenWeight(.02 - z);
C.setPenColor(.8, .2, 0);
}

// expand perameters for next group of pedals in outer loop
var x = .92;
var y = .45;
C.setPenColor(.5, .2, 0);
C.setPenWeight(.03);
var width1 = .2;
var height1 = .3;
}