是否可以检查列表中的每个项目以查找方程式?

Is it possible to check every item in a list for an equation?

提问人:Flaming 提问时间:8/30/2023 最后编辑:Flaming 更新时间:8/30/2023 访问量:65

问:

我正在创建一个脚本,该脚本需要检查精灵的 X 或 Y 位置减去列表中任何内容的绝对值是否小于用于计算距离的特定值(其中一个克隆的 x 或 y,存储在列表中)。等式可以这样表示:

|x|-|o|<d 其中 x 是主精灵的当前 x/y 位置,o 是任何克隆的位置,d 是我设置的任何距离。因此,对于方程 |50|-|45|<10,它将返回 true。我知道方程式需要是什么,但不确定如何用当前的列表块表示它(也许(列表)包含()?

我尝试使用(列表)块,但该块不适用于我的目的,因为这不是它的作用。我无法使用(list)包含()块,尽管这可能是我需要使用的。

数学 麻省理工学院-Scratch

评论

0赞 jasonharper 8/30/2023
你需要用你正在使用的任何编程语言来标记它,这样它就会引起能够帮助它的人的注意。

答:

1赞 Zac 8/30/2023 #1

如果我理解正确的话,您将克隆 X 和 Y 位置存储在列表中,并且您想使用列表值来检查精灵是否在任何克隆的一定距离内。

我相信你想要的是 for 循环的划痕等价物。您可以使用“repeat until”循环和循环计数器的专用变量。像这样的东西:

A screenshot of scratch blocks code

在这里,索引变量将从 1 变为位置列表的长度。对于每个索引,它会检查 Sprite 的位置与列表中该索引处的坐标之间的差值是否小于您指定的距离。

这也是假设您正在执行类似操作来跟踪克隆索引:

enter image description here

这里的“clone id”变量是“仅适用于此精灵”,因此您必须在克隆之前每次将其增加 1,而不是之后。这样,每个克隆都会记住自己的 ID。

评论

0赞 danh 9/3/2023
x < some_threshold AND y < some_threshold将检查是否满足曼哈顿距离标准。我们确定OP不需要检查(更常见的)欧几里得距离吗?