MacOS playground 参数-双峰 关卡思路

这一关需要先观察规律,第一,多调试几次发现中间的井盖一行只有收尾才会出现钻石,中间不会出现,所以我们character的路线可以是一个绕圈的循环;其次,因为character已经解锁了jump功能,所以从一个山峰调到井盖再到另一个山峰时,可以通过jump的形式,而不必让主角走平地。通过上下调动井盖高度,发现往上移动两个单位的高度时,主角可以完全从山峰跳到井盖,再跳到另一个山峰。最后,主角的绕圈循环其实是一个6*2的矩形,只要把6步和2步的动作写好,依次循环即可。而写6步和2步可以用到带参方法。所以这一关真的是把之前学到的方法来了个大汇总。

let totalGems=randomNumberOfGems

let expert=Expert() //新建专家

world.place(expert, facing: north, atColumn:0, row:4) //定义专家位置

let character=Character()//新建主角

world.place(character, facing: south, atColumn:4, row:6)//定义主角位置

var number=0 //初始化已收集宝石的个数

func jumpOfCharacter(step:Int) {//jump带参方法

    for i in1... step {

        if character.isOnGem && number

            character.collectGem()//顺便收集宝石

            number +=1

        }

        character.jump()

    }

}

expert.turnLock(up:true, numberOfTimes:2)//专家操作井盖

while number

    jumpOfCharacter(step:6)

    character.turnRight()

    jumpOfCharacter(step:2)

    character.turnRight()

}


你可能感兴趣的:(MacOS playground 参数-双峰 关卡思路)