Exploring how turtles breed.
Log in to post a comment.
Canvas.setpenopacity(0.4);
const routeAngle = 80; // min = 45, max = 90, step = 1
const generations = 10; // min = 1, max = 12, step = 1
//Turtle.prototype.age = 0;
//Turtle.prototype.gen = 0;
let turtles = [];
function addTurtle(x = 0, y = 0, h = 90){
let turtle = new Turtle();
turtle.jump(x, y);
turtle.seth(h);
turtle.age = 0;
turtle.gen = 0;
return turtle;
}
turtles.push(addTurtle(0, 60, -90));
/*
turtles.push(addTurtle(0, -30, -90));
turtles.push(addTurtle(0, 30, 90));
*/
// The walk function will be called until it returns false.
function walk(i) {
let goon = true;
for(turtle of turtles){
turtle.age++;
turtle.forward(0.1);
if((turtle.age + turtle.gen * 6) > 80){
turtle.age = 0;
turtle.gen++;
if(turtle.gen > generations){
goon = false;
break;
}
let baby = turtle.clone();
baby.age = turtle.age;
baby.gen = turtle.gen;
baby.left(90);
baby.circle(3, routeAngle);
turtle.right(90);
turtle.circle(-3, routeAngle);
turtles.push(baby);
}
}
return goon;
}