青少年编程Playgrounds之九–条件代码
第一关 检查开关
老规矩,上目标以及地图
地图
条件语句,无论是什么语言,C,C++,C#,Python,Java,汇编,VHDL,哪怕图形编程,即使是自然语言编程都是躲不开的。
由于开关的状态会随机发生变化,可以通过 运行我的代码 来观察开关的随机变化情况
可以看到开关的随机变化是发生在程序运行以后,所以无法在运行程序之前预判哪个开关需要亮点,哪个不需要。所以当我们走到开关上时,需要判断开关状态,而示例也给出了判断方法,即
//开关是否为关闭状态
if isOnClosedSwitch{}
那么根据地图情况,我们首先新建一个函数,用于检查并点亮开关
//当开关是关闭状态,则打开(点亮)它
func openSwitch(){
if isOnClosedSwitch{
toggleSwitch()
}
}
然后主程序,比较简单,每个开关位置调用一次以上函数,则可
为了使程序简介,可以再修改一下,这个函数
func openSwitch(){
moveForward()
if isOnClosedSwitch{
toggleSwitch()
}
}
主程序使用循环
moveForward()
for i in 0..<3{
openSwitch()
}
然后就愉快的过关了。
第二关 使用else if
if else if 语句
当if 的条件不满足时,才会执行else if ,属于互斥。
看目标
地图
先运行一下代码
果然面前的宝石和开关是随机。那么需要使用到条件语句。
定义一下函数用于解决搜集和打开开关问题
func moveCollectOrSwitch(){
moveForward()
if isOnClosedSwitch{
toggleSwitch()
}else if isOnGem{
collectGem()
}
}
很简单,先前进一步,判断脚下是未打开的开关吗?是,则打开,否则,再判断头顶上有宝石没,有的话,搜集。都为否的话,则无操作
主程序,循环两次
for i in 0..<2{
moveCollectOrSwitch()
}
过关。
第三关 循环条件代码
非常简单的循环+逻辑检查
Byte小朋友只需一直向前走,每走一步检查一下打开开关还是搜集宝石即可,很简单,就不单独使用函数了
循环体内部内容
moveForward()
if isOnClosedSwitch{
toggleSwitch()
}else if isOnGem{
collectGem()
}
循环次数12次