青少年编程Playgrounds之十四–While循环
第一课 当…时运行代码
地图
本关非常容易,只是简单理解一下while循环。也给出了限定条件即
我们需要做的是分析一下Byte小朋友前进的条件即可,通过地图,可以判断出仅当Byte站在未点亮的开关上时,才需要前进,所以条件即为
isOnCloseSwitch
注意while循环是在条件为真时才执行,那么循环内部需要什么操作呢?
切换开关–前进
运行代码
第二关 创建更巧妙的while循环
分析本关地图,与第一关思路相同,首先,while循环
while <#condition#> {
<#code#>
}
找到循环条件,关于本地图,因为只有开关存在,且我们每次站到未打开的开关上时,会打开开关,所以,循环条件可以设为当Byte站在打开的开关上时,循环内容为 前进–按需要点亮开关
从而保证未点亮开关不会影响我们的循环,代码如下
while isOnOpenSwitch{
moveForward()
if isOnClosedSwitch{
toggleSwitch()
}
}
运行代码
然后就出错了,因为忽略了Byte一开始站立的位置并没有已经打开的开关,所以,条件需要进行修改
从地图中可以看出,由于传送门的存在,Byte只有在走到第三个平台的尽头时,前方才会受阻,所以,将添加更改为
isBlocked,程序即可
while !isBlocked{
moveForward()
if isOnClosedSwitch{
toggleSwitch()
}
}
该条件下,Byte在走到尽头时,停下来,完成任务。虽然多走了一步,但总算完成了任务。