如何利用參數(shù)通關(guān)Playgrounds編程小游戲中的參數(shù)關(guān)卡
目標(biāo):編寫一個(gè)前行特定步數(shù)的函數(shù)Playgrounds是一款基于Swift 5.1語言的編程小游戲,其中有一個(gè)名為“參數(shù)-持續(xù)向前走”的關(guān)卡需要編寫一個(gè)特定步數(shù)前進(jìn)的函數(shù)。傳統(tǒng)的方法是使用for循環(huán)來
目標(biāo):編寫一個(gè)前行特定步數(shù)的函數(shù)
Playgrounds是一款基于Swift 5.1語言的編程小游戲,其中有一個(gè)名為“參數(shù)-持續(xù)向前走”的關(guān)卡需要編寫一個(gè)特定步數(shù)前進(jìn)的函數(shù)。傳統(tǒng)的方法是使用for循環(huán)來定義每次前進(jìn)的步數(shù),但是這樣比較繁瑣。通過利用參數(shù)的方式,只需改變參數(shù)值就可以輕松地定義前進(jìn)的距離,非常方便。
利用參數(shù)定義函數(shù)
以下是代碼示例:
```
func move(distance: Int) {
for _ in 1...distance {
moveForward()
}
}
```
我們可以看到,move函數(shù)的參數(shù)是一個(gè)整數(shù)型的distance,其作用是決定小紅仔前進(jìn)的步數(shù)。在函數(shù)體內(nèi),使用for循環(huán)來循環(huán)distance次,并調(diào)用moveForward()函數(shù)來實(shí)現(xiàn)前進(jìn)功能。
創(chuàng)建一個(gè)類
在關(guān)卡中,不僅要前進(jìn),還需要左轉(zhuǎn)和右轉(zhuǎn)。這時(shí)候,我們可以創(chuàng)建一個(gè)類來管理左轉(zhuǎn)和右轉(zhuǎn)的情況。
```
class ExpertController {
func turnLeft() {
expert.turnLeft()
}
func turnRight() {
expert.turnRight()
}
}
```
ExpertController類包含兩個(gè)函數(shù),分別是turnLeft()和turnRight(),它們的作用是讓小紅仔向左或向右轉(zhuǎn)彎。在函數(shù)內(nèi)部,調(diào)用expert對(duì)象的turnLeft()和turnRight()方法即可實(shí)現(xiàn)控制小紅仔的左右轉(zhuǎn)彎。
通關(guān)評(píng)價(jià)
通過以上的編寫,我們已經(jīng)成功地完成了“參數(shù)-持續(xù)向前走”關(guān)卡。最后的通關(guān)評(píng)價(jià)也證明了我們的成功:“你真的對(duì)此越來越擅長(zhǎng)了!使用參數(shù)定義函數(shù),可使函數(shù)更具可再用性,意味著你能在更多情況下調(diào)用它。既然已經(jīng)定義了move,那就可以在Character和Expert類型上將它用作科碼方法。例如,(distance: 4)將使expert實(shí)例向前走四步。”