[英]Need help for javascript. Values and numbers in particular
Basically, I am trying to make grass on javascrpit.基本上,我正在尝试在 javascrpit 上制作草。 I want to condense the code because I keep adding 10 to the number for the tag 'moveTo". Is there any way to condense this? I just want shorter code without copying and pasting the code over and over just to add 10. For example, instead of copying moveTo(0,355) and then copying and pasting the code just to change moveTo to (0,365). I want to keep it short and simple. Is there anyway I could do this?我想压缩代码,因为我一直在标记“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();
Use loops to reduce duplication.使用循环来减少重复。 Loop over the number of times you want to increase the spot by 10, then loop over each of those to draw grass 17 times each (like you have in your example) and then update your counter and move to the next 10.循环你想要将点增加 10 的次数,然后循环每一个以绘制草 17 次(就像你在你的例子中那样),然后更新你的计数器并移动到下一个 10。
You could replace all your code after your function drawGrass(){}
declaration with this:您可以将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);
}
Your code would look like this:您的代码如下所示:
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);
}
You just need to replace TEN_INTERVALS
with the number of times you want to increase by 10 (in your example it would be 13
).您只需要将TEN_INTERVALS
替换为要增加 10 的次数(在您的示例中为13
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.