這一關(guān)变隔,我們應(yīng)該不再陌生了,還是要讓開關(guān)數(shù)和寶石數(shù)相同蟹倾。只是匣缘,好像環(huán)境發(fā)生了變化。我們看一下要求鲜棠。
image-20210118203042855.png
好像看不到什么明顯的變化肌厨,但是要求告訴我們,gemCounter = gemCounter + 1 和 gemCounter += 1是一樣的功能豁陆,而且gemCounter += 1還更快一點柑爸。
讓我們列出代碼如下:
var GemNum = 0
var SwiNum = 0
while !isOnClosedSwitch {
moveForward()
while isOnGem {
collectGem()
GemNum += 1
}
if isBlocked {
turnRight()
}
}
while GemNum != SwiNum {
if isBlocked {
turnRight()
}
while isOnClosedSwitch {
toggleSwitch()
SwiNum += 1
}
moveForward()
}
在這段代碼里面,寶石數(shù)和開關(guān)數(shù)都成變量盒音,那么我們該如何使這兩個數(shù)相等呢表鳍。那就是:
while GemNum != SwiNum
這個循環(huán)判斷條件,幫助我們在兩個數(shù)值不等的時候去循環(huán)執(zhí)行代碼祥诽。
經(jīng)過執(zhí)行:
image-20210118203744380.png
當(dāng)寶石數(shù)量確定之后进胯,開關(guān)數(shù)量也就能隨之確定了。