积木编程入门
第 6 章
>
第 4 级
目标
使用循环中的嵌套条件清除建筑物间通道中的杂草。
建筑物之间的通道长满了杂草,收集并清理这些杂草是个好主意。你可以通过在循环中使用条件来自动化此过程。编辑器中有几个块被禁用,你可以启用它们以填补空缺。
创建一个名为 bag 的变量,并使用 set variable 块将其设置为 0。

使用带条件的 while 循环来自动化该过程,在其中插入一个 comparison 块。将该比较块的下拉菜单设置为 >,以检查 bag 是否小于 10。

循环内部,添加一个 move forward 块,然后从 “Variables” 菜单中拖放 change variable 块。将下拉菜单设置为 bag,并将数字气泡设置为 1。

通过在 while 循环中使用条件,只要条件为真,循环就会继续。每次循环都会向袋子中添加一株杂草,当 bag 达到十 (10) 时,循环会自动停止。
走到第一个深色 X 标记处并面向箱子,我们将在摆放的两个箱子中倾倒收集到的杂草。使用一个带 place 块的 for 循环来处理这些 X 标记。然而,每个容器之间的步数不均匀,因为它们之间存在间隙。通过在循环内部使用嵌套的 if 块,当满足某个条件时可以跳过某些代码。
使用一个 for 循环块,变量 x 从 0 到 2,步长为 1。在循环内部,先添加一个 move forward 块,然后使用一个带 comparison 块的 if 块。在该 comparison 块中,将第一个槽设置为 x,下拉菜单设置为不等于 (≠),并将数值设置为 1。

启用 if 块内部被禁用的块,并在 place 块中填写 operators 块,以确定要在容器中存放的杂草数量。我们需要将收集并存储在 bag 变量中的一半杂草放入每个容器。为此,需要从 “Variables” 菜单中插入 bag 变量块到 operators 块的第一个槽,将下拉菜单设置为 %,并将数字气泡设置为 2。

只有当 x 不等于 1(即 x 为 0 或 2)时,才会执行向右转、放置杂草和向左转的代码。这样可以跳过中间的迭代(当 x 等于 1 时),以避开容器之间的间隙。
当你在合适的位置收集并放置好杂草后,到达以星号标记的出口即可完成关卡。