xxxxxxxxxx
140
let branchLength;
let xplus;
var xpos;
let color1 = ["#c79092", "#cba761", "#7a3340"];
let color2 = ["#01739d", "#7a95a4", "#9DAC6B"];
let color3 = ["#82A699", "#B3938F", "#cba761"];
let leafColor1; let leafColor2; let leafColor3;
let layer2;
let bgImage;
function preload() {
bgImage = loadImage('sky.jpg');
quilt = loadImage('AmeliaBennetHousetop.jpeg')
}
function setup() {
imageMode(CENTER);
createCanvas(600, 500);
//imageMode(CENTER);
// background(img);
// background('#305632');
layer2 = createGraphics(width, height);
background(bgImage);
//sun
layer2.background(quilt);
layer2.erase();
layer2.ellipse(95, 85, 150, 150);
layer2.noErase();
image(layer2, width/2, height/2);
let turtleString = "B";
// storing string as variable B
// for loop allows code to run more than once
for(let i=0; i<7; i++){
turtleString = turtleString.replaceAll("B", "F[+BB][-BB]")
}
translate(width/2, height - 50);
strokeWeight(3);
stroke("#58825A" );
renderString(turtleString);
}
function draw(){
//groud
noStroke();
fill("#83AB85");
rect(0, 455, width, 55);
}
function renderString(string) {
branchLength = random(60, 85);
print('branchLength', branchLength);
xpos = random(width);
let angle = Math.PI/13;
for (let character of string) {
if (character == 'F') {
strokeWeight(branchLength/11);
line(0, 0, 0, -branchLength);
translate(0, -branchLength);
} else if (character == '+') {
rotate(random());
} else if (character == '-') {
rotate(-random());
} else if (character == '[') {
branchLength = branchLength / 1.5
print('newbranchLength', branchLength);
push();
} else if (character == ']') {
branchLength = branchLength * 1.5
pop();
}
//leaves!
if(branchLength < 15){
noStroke();
if (xpos <= 200){
leafColor1=random(color1);
fill(leafColor1);
//print('leaf color', leafColor)
}
if (xpos >= 400){
leafColor2=random(color2);
fill(leafColor2);
//print('leaf color', leafColor)
}
if (xpos < 400 && xpos > 200){
leafColor3=random(color3);
fill(leafColor3);
//print('leaf color', leafColor)
}
rect(0, 0, random(10, 5), random(10, 5))
}
}
}
function mousePressed(){
let turtleString = "B";
// storing string as variable B
// for loop allows code to run more than once
for(let i=0; i<6; i++){
turtleString = turtleString.replaceAll("B", "F[+BB][-BB]")
}
xpos = random(width);
translate(xpos, height);
print('xpos', xpos);
renderString(turtleString);
}