首页 > 解决方案 > 哪个程序使用最少的代码行使用海龟绘制 3x3 网格?

问题描述

我正在挑战自己,以找到在 JavaScript 中使用海龟绘制 3x3 网格所需的最少代码行。这是基于 code.org 课程。我老师最好的是 57 loc,我找到了一种方法把它降到 50 loc。有没有办法让它低于50 loc?我们唯一可以使用的是moveForward(), turnLeft(),penUp()penDown()

网格: 在此处输入图像描述

标签: javascriptrefactoringturtle-graphicslines-of-code

解决方案


我认为我们可以用你引用的 LOC 的三分之一来解决这个问题:

function grid(side) {
    pendown()
    repeat(2, function () {
        sign = 1;
        repeat(3, function() {
            forward(side * 3);
            left(sign * 90);
            forward(side);
            left(sign * 90);
            sign = 0 - sign;
        });
        forward(side * 3);
        left(90);
    });
}

一个不同的 JavaScript 龟包,但基本相同的想法:

在此处输入图像描述

您应该将自己的解决方案作为问题的一部分发布。


推荐阅读