number r = 0.0 number g = 0.0 number b = 0.0 function main() returns nothing //doTopLeftFan() doDragon() endfunction function doTopLeftFan() returns nothing setTurtleXY(10, 100) setAngle(90) fanLeft(175, 10) endfunction function fanLeft(number distance, number angle) returns nothing if (distance >= 0) goForward(distance) goBackward(distance - 10) turnLeft(angle) fanLeft(distance - 5, angle) endif endfunction function doDragon() returns nothing rightDragon(20, 3) endfunction function leftDragon(number iteration, number dist) returns nothing r = r + 0.001 if (r > 1.0) r = 0.0 endif setPenColorRGB(r, g, b) if (iteration == 0) g = g + 0.01 if (g > 1.0) g = 0.0 endif goForward(dist) else leftDragon(iteration - 1, dist) turnLeft(90) rightDragon(iteration - 1, dist) endif endfunction function rightDragon(number iteration, number dist) returns nothing b = b + 0.001 if (b > 1.0) b = 0.0 endif setPenColorRGB(r, g, b) if (iteration == 0) g = g + 0.01 if (g > 1.0) g = 0.0 endif goForward(dist) else leftDragon(iteration - 1, dist) turnRight(90) rightDragon(iteration - 1, dist) endif endfunction