美文网首页
MacOS playground 参数-双峰 关卡思路

MacOS playground 参数-双峰 关卡思路

作者: 毛线帽1894 | 来源:发表于2020-12-02 15:35 被阅读0次

    这一关需要先观察规律,第一,多调试几次发现中间的井盖一行只有收尾才会出现钻石,中间不会出现,所以我们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<totalGems//已收集宝石小于随机数时才继续收集

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

                number +=1

            }

            character.jump()

        }

    }

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

    while number<totalGems {//走矩形,循环收集宝石

        jumpOfCharacter(step:6)

        character.turnRight()

        jumpOfCharacter(step:2)

        character.turnRight()

    }

    相关文章

      网友评论

          本文标题:MacOS playground 参数-双峰 关卡思路

          本文链接:https://www.haomeiwen.com/subject/zlelwktx.html