apple Swift playground While循环之富饶之地代码详解
·

本关卡砖块长度是随机的,所以为了简洁代码不使用【for】循环而是采用【while】循环。
为了代码整洁不使用过多的移动函数。
完整代码如下:
func cheak() {
if isOnClosedSwitch {
toggleSwitch()
}else if isOnGem {
collectGem()
}
}
while !isBlocked {
cheak()
moveForward()
if isBlockedLeft && isBlocked {
turnRight()
moveForward()
turnRight()
};
if isBlocked && !isBlockedRight {
turnLeft()
moveForward()
turnLeft()
}
}
在右下角提示中会告知用户需要检查每一块砖上是否有开关或宝石。
所以在第一步要创建【func】函数做检查。⬇️
func cheak() {
if isOnClosedSwitch {
toggleSwitch()
}else if isOnGem {
collectGem()
}
}
第二步,创建while循环并添加【!isBlocked】条件以让其在满足条件时运行循环,不满足时停止循环。
while !isBlocked {
}
第三步,加入第一步的检查【cheak()】函数使其在每次【while】循环时检查一遍砖块,并添加前进函数。
while !isBlocked {
cheak()
moveForward()
}
第四步,遇到第一次阻塞时添加【if】条件并加入逻辑运算符,原理是当符合左边阻塞&&前方阻塞条件时运行此条件代码使其向右转-前进一步-向右转实现转身并继续运行【while】循环代码。

while !isBlocked {
cheak()
moveForward()
if isBlockedLeft && isBlocked {
turnRight()
moveForward()
turnRight()
}
第五步,在遇到第二次阻塞时再次添加【if】条件并加入逻辑运算符,原理是当符合前方阻塞&&右侧没有阻塞条件时运行此条件代码使其实现向左转-前进一步-向左转实现转身并继续运行【while】循环代码。

while !isBlocked {
cheak()
moveForward()
if isBlockedLeft && isBlocked {
turnRight()
moveForward()
turnRight()
};
if isBlocked && !isBlockedRight {
turnLeft()
moveForward()
turnLeft()
}
}
教程结束,感谢观看
更多推荐


所有评论(0)