xxxxxxxxxx
80
let rules = {
// "X": "F+[[X]-X]-F[-FX]+X",
"F": "F+F-F-F+F"
}
let len =10;
let ang ;
let drawRules;
let word = "F";
function setup()
{
createCanvas(750, 750);
drawRules =
{
"F": () => {
stroke(255,255,255,150);
strokeWeight(2);
line(0,0,len,0);
translate(len,0);
},
"-" : () => {rotate(PI/180 *90);
},
"+" : () => {rotate(PI/180 *-90);
},
"[" : push,
"]" :() => {
// // noStroke();
// // fill(0, 200, 0);
// ellipse(0, 0, 2 * len, 5 * len);
pop()
}
}
noLoop()
}
function draw() {
background(223,136,117);
push();
translate(0,height);
//rotate (PI/180* ang);
for (let i=0; i<word.length;i++)
{
let c = word [i];
if (c in drawRules)
{
drawRules[c]();
}
}pop();
}
function mouseReleased() {
word = generate();
console.log(word);
draw();
}
function generate ()
{
let next = "";
for (let i =0; i< word.length; i++)
{
let c = word[i];
if(c in rules)
{
next += rules[c];
} else
{
next += c;
}
}
return next;
}