如何通關(guān)Playgrounds 學(xué)習(xí)編程2 第20關(guān)
這是一個挑戰(zhàn)關(guān)卡,iPad上的Playgrounds是利用Swift 5.1語言進行編程的挑戰(zhàn)小游戲,本文將講述如何通過第20關(guān)“上下移動”。 目標:使用專家和turnLock方法來收集所有寶石
這是一個挑戰(zhàn)關(guān)卡,iPad上的Playgrounds是利用Swift 5.1語言進行編程的挑戰(zhàn)小游戲,本文將講述如何通過第20關(guān)“上下移動”。
目標:使用專家和turnLock方法來收集所有寶石
在第20關(guān)中,我們可以看到小紅和小綠各司其職。小紅專門負責(zé)開鎖和升降浮磚,而小綠則專門收集寶石。小紅面對的鎖需要順時針旋轉(zhuǎn),以操作浮磚的順序。因此,鎖的操作是有規(guī)律的,可以寫進循環(huán)中。同樣地,小綠面對的紅寶石也是按照三角形排列的順序出現(xiàn),同樣可以寫進循環(huán)中。
寶石的規(guī)律與循環(huán)
雖然寶石并非全部對稱,在粉色浮磚對應(yīng)的三角形寶石位置缺少了紅寶石,但這不影響循環(huán)。只需在循環(huán)中空取一次即可。浮磚可以被看作是兩組,所以在循環(huán)時,每兩組之間應(yīng)插入turnLeft()方法。下面是完整的代碼:
func collectAllGems() {
for i in 1 ... 2 {
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: true, numberOfTimes: 2)
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: true, numberOfTimes: 4)
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: false, numberOfTimes: 3)
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: false, numberOfTimes: 4)
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: true, numberOfTimes: 3)
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: true, numberOfTimes: 4)
moveForward()
turnRight()
moveForward()
collectGem()
turnLock(up: false, numberOfTimes: 2)
moveForward()
turnRight()
}
}
通關(guān)提示:使用參數(shù)將角色放置在特定位置
恭喜你!現(xiàn)在你已經(jīng)學(xué)習(xí)了如何使用參數(shù)創(chuàng)建函數(shù)。想象一下,在關(guān)卡世界中,如何使用參數(shù)將角色放置在特定位置。