這一關(guān)粒蜈,我們來學(xué)習(xí)一個新的知識,參數(shù)旗国。
我們在之前的練習(xí)里钝满,如果想讓角色向前走連續(xù)五步扰肌,可以通過五次向前的命令執(zhí)行军熏,也可以創(chuàng)造一個for循環(huán)凌简,把i定義在1...5之間,兩種方式都可以達到目的寿冕。
假設(shè)蕊程,現(xiàn)在有一個命令叫"moveForwardA()",它提供了一個參數(shù)驼唱,叫"distanceA:int"藻茂,通過對“int”的設(shè)置,我們可以直接實現(xiàn)走路步數(shù)的設(shè)定,比如:
"moveForwardA(distanceA:5)"
通過這種設(shè)定方法捌治,我們可以省略很多繁瑣的代碼編寫岗钩。想走6步,就把int設(shè)定為6肖油;想走10000步,就把int設(shè)定為10000臂港,這么一比較森枪,是不是就發(fā)現(xiàn)參數(shù)是不是很省事。
下面审孽,讓我們來學(xué)習(xí)如何使用參數(shù)县袱。
這是本關(guān)卡的目標(biāo)。
代碼如下:
let expert = Expert()
func move(distance: Int){
? for i in 1 ... distance{
? ? expert.moveForward()
? }
}
move(distance: 6)
expert.turnRight()
move(distance: 2)
expert.turnRight()
move(distance: 5)
expert.turnLeft()
move(distance: 5)
expert.turnLeft()
expert.turnLockUp()
expert.turnLeft()
move(distance: 3)
expert.turnRight()
move(distance: 3)
expert.turnRight()
move(distance: 4)
expert.collectGem()
我們通過先創(chuàng)造一個for循環(huán)的方式構(gòu)建了一個帶有參數(shù)的命令佑力,然后式散,我們在下面的使用中,只需要通過設(shè)定參數(shù)的方式來使用命令就可以了打颤。這種方式實現(xiàn)了for循環(huán)的復(fù)用暴拄,可以很輕松的讓我們直接完成想要的工作。
結(jié)果如下:
我們沒有任何代碼的注釋在后面编饺。如果你不想忘記自己的想法乖篷,就自己在后面加上去吧。就像這樣子: