xxxxxxxxxx
58
var array = ['F'];
var n = 0;
var turtle;
function setup() {
createCanvas(400, 400);
background(220);
turtle = new Turtle(0,height);
turtle.setAngleMode(DEGREES);
turtle.setWeight(2);
turtle.rotate(90);
}
function lSystem(input){
let l = input.length;
var output = [];
var rule;
for(var i = 0; i < l; i++){
if(input[i] == 'F'){
rule = ['F','+','F','-','F','-','F','+','F'];
} else if (input[i] == '+'){
rule = ['+']
} else if (input[i] == '-'){
rule = ['-']
}
for(let j = 0; j < rule.length; j++){
append(output,rule[j]);
}
}
return output;
}
function draw() {
if(n==8){
noLoop();
}
if(frameCount % 10 == 0){
//for(var i = 0; i < 15; i ++){
for(var j = 0; j < array.length; j++){
var rule = array[j];
if(rule == 'F'){
turtle.moveForward(1);
} else if(rule == '+'){
turtle.rotate(-90)
} else if(rule == '-'){
turtle.rotate(90)
}
//}
}
array = lSystem(array);
n++;
}
}