Iterates top-down, spawning a new triangle at each bottom corner.
Log in to post a comment.
// Parameters. const cardHeight = 2; // min=2, max=30, step=1 const cardAngle = 25; // min=0, max=90, step=1 // Start at tip position. const positions = [{x: 0, y: -85}]; const height = cardHeight*2; const turtle = new Turtle(); const cardBase = Math.sin(cardAngle*Math.PI/180)*height; const savePos = (x, y) => { const xr = Math.round(x); const yr = Math.round(y); if (!positions.find(p => p.x==xr && p.y==yr)) { positions.splice(0, 0, {x: xr, y: yr}); } } const getLastPos = () => positions.pop(); Canvas.setpenopacity(1); function walk(i) { const lastPos = getLastPos(); turtle.penup(); turtle.goto(lastPos.x, lastPos.y); if (turtle.y() > 80 || turtle.x() > 95 || turtle.x() < -95) return false; turtle.pendown(); turtle.seth(90+cardAngle); turtle.forward(height); savePos(turtle.x(), turtle.y()); turtle.seth(0); turtle.forward(cardBase*2); savePos(turtle.x(), turtle.y()); turtle.seth(270-cardAngle); turtle.forward(height); return true; }