停留在 5.3.4 codeHS 程序 (JavaScript)
Stuck on 5.3.4 codeHS program (JavaScript)
课程中的说明是:
编写一个在图形上绘制水平线的函数canvas。如果一条线是水平的,则端点的 y 值相同。你的函数的参数应该是 y 位置和长度,你所有的线都应该从 x 位置 0 开始。你的函数必须命名为 horizontalLine。
例如,如果您调用:
horizontalLine(100, 200);
你应该得到一条从位置 (0, 100) 开始的长度为 200 的水平线。
如果您的启动函数如下所示:
function start(){
horizontalLine(100, 200);
horizontalLine(200, 100);
horizontalLine(300, 20);
}
末世应该是this的样子。现在我已经让我的世界看起来完全像那样,但是代码检查 returns 错误。我不确定我的代码有什么问题,但我猜是因为它要我在启动函数中输入两个数字而不是四个数字,但我无法让它工作。我已经坚持了将近一个月,答案可能很简单,但我想不通,请帮忙。
这是我的代码:
function start() {
horizontalLine(0, 100, 200, 100);
horizontalLine(0, 200, 100, 200);
horizontalLine(0, 300, 20, 300);
}
function horizontalLine (x1, y1, x2, y2) {
var x1 = 0;
var y1 = y2;
var line = new Line (x1, y1, x2, y2);
add(line);
}
是的,自动代码检查器取决于诸如您的功能是否按照指定设置之类的事情。可能期望您的函数采用 2 个参数,但您的函数需要 4 个,因此当它发送值时,它们没有被分配给正确的变量。
查看您在开始函数调用 horizontalLine 时的值。你注意到在给定的 4 个中,每次有 2 个总是相同的吗?您的第二个和第四个参数始终相同,因为正如练习提示所解释的那样,扁平线具有相同的 y 值。所以你不需要单独传入它们,因为它们是一样的。您只需传递一次,但会使用两次。
提示还指定 x 值始终从 0 开始。然而,您每次都传入它(注意您的第一个参数始终为 0 吗?)。因此,再次重申,您无需传入它,只需使用它即可。
这就是概念,现在开始实施。
函数的前两行或多或少实际上在做他们需要做的事情。他们正在设置不需要传入的变量。那么,你为什么要传入它们?只需将您的函数定义更改为仅发送您实际使用的两个参数!
课程中的说明是:
编写一个在图形上绘制水平线的函数canvas。如果一条线是水平的,则端点的 y 值相同。你的函数的参数应该是 y 位置和长度,你所有的线都应该从 x 位置 0 开始。你的函数必须命名为 horizontalLine。
例如,如果您调用:
horizontalLine(100, 200);
你应该得到一条从位置 (0, 100) 开始的长度为 200 的水平线。
如果您的启动函数如下所示:
function start(){
horizontalLine(100, 200);
horizontalLine(200, 100);
horizontalLine(300, 20);
}
末世应该是this的样子。现在我已经让我的世界看起来完全像那样,但是代码检查 returns 错误。我不确定我的代码有什么问题,但我猜是因为它要我在启动函数中输入两个数字而不是四个数字,但我无法让它工作。我已经坚持了将近一个月,答案可能很简单,但我想不通,请帮忙。
这是我的代码:
function start() {
horizontalLine(0, 100, 200, 100);
horizontalLine(0, 200, 100, 200);
horizontalLine(0, 300, 20, 300);
}
function horizontalLine (x1, y1, x2, y2) {
var x1 = 0;
var y1 = y2;
var line = new Line (x1, y1, x2, y2);
add(line);
}
是的,自动代码检查器取决于诸如您的功能是否按照指定设置之类的事情。可能期望您的函数采用 2 个参数,但您的函数需要 4 个,因此当它发送值时,它们没有被分配给正确的变量。
查看您在开始函数调用 horizontalLine 时的值。你注意到在给定的 4 个中,每次有 2 个总是相同的吗?您的第二个和第四个参数始终相同,因为正如练习提示所解释的那样,扁平线具有相同的 y 值。所以你不需要单独传入它们,因为它们是一样的。您只需传递一次,但会使用两次。
提示还指定 x 值始终从 0 开始。然而,您每次都传入它(注意您的第一个参数始终为 0 吗?)。因此,再次重申,您无需传入它,只需使用它即可。
这就是概念,现在开始实施。
函数的前两行或多或少实际上在做他们需要做的事情。他们正在设置不需要传入的变量。那么,你为什么要传入它们?只需将您的函数定义更改为仅发送您实际使用的两个参数!