需要 JavaScript 的帮助.特别是值和数字



基本上,我正在尝试在javascrpit上做草。我想压缩代码,因为我不断在标签"moveTo"的数字上加 10。有什么办法可以压缩它吗?我只想要更短的代码,而不是一遍又一遍地复制和粘贴代码只是为了添加 10。例如,不要复制 moveTo(0,355(,然后复制并粘贴代码只是为了将 moveTo 更改为 (0,365(。我想保持简短和简单。有没有办法我可以做到这一点?

function drawBackground() {
penColor("lightblue");
dot(1000);
moveTo(0, 0);
penColor("yellow");
dot(100);
penUp();
moveTo(100, 300);
}
drawBackground();
function drawGrass() {
penWidth(7);
turnTo(22);
penColor("green");
penDown();
moveForward(25);
turnRight(135);
moveForward(25);
turnLeft(135);
}
penUp();
moveTo(0, 355);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 365);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 375);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 385);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 395);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 405);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 415);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 425);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 425);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 425);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 435);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 445);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 455);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
penUp();
moveTo(0, 465);
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();
drawGrass();

使用循环来减少重复。 循环使用您想要将斑点增加 10 的次数,然后在每个次数上循环以每次画草 17 次(就像您在示例中所做的那样(,然后更新计数器并移动到下一个 10 次。

您可以在function drawGrass(){}声明后将所有代码替换为以下内容:

var counter = 355;
for (var i = 0; i < TEN_INTERVALS; i++){
penUp();
for (var x =0; x < 17; x++){
drawGrass();
}
counter += 10;
moveTo(0, counter);
}

您的代码如下所示:

function drawBackground() {
penColor("lightblue");
dot(1000);
moveTo(0, 0);
penColor("yellow");
dot(100);
penUp();
moveTo(100, 300);
}
drawBackground();
function drawGrass() {
penWidth(7);
turnTo(22);
penColor("green");
penDown();
moveForward(25);
turnRight(135);
moveForward(25);
turnLeft(135);
}
var counter = 355;
for (var i = 0; i < TEN_INTERVALS; i++){
penUp();
for (var x =0; x < 17; x++){
drawGrass();
}
counter += 10;
moveTo(0, counter);
}

您只需要将TEN_INTERVALS替换为要增加 10 的次数(在您的示例中为13(。

最新更新