MacOS Playgrounds 学习编程二,第二十五关 ,双峰

陪孩子玩这个游戏,这一关还是要用点心。不想像别人搞的那样偷懒把角色搞几个一起走,用一个专家和一个角色按正常的方式走。把代码发出来出下。

letexpert= Expert()

letcharacter= Character()

var GemNum = 0

var JumNum = 1

varRoaNum =3   //设计一个路口动作的顺序,从3开始可以方便小朋友理解。

world.place(expert, facing: north, atColumn:0, row:4)

world.place(character, facing: .north, atColumn:4, row:0)

func turnAround() {    //为了省事好调头

    character.turnRight()

    character.turnRight()

}

func charDo() {  //为了好记宝石数和收纳

    ifcharacter.isOnGem {

        character.collectGem()

        GemNum +=1

    }

}

funcLRAorund() {         //把0号路口,1号路口,2号路口的动作规定好。

    ifRoaNum%3==0{   //0号路口动作

        character.turnLeft()

        character.jump()

        charDo()

        character.turnLeft()

        JumNum +=1

        RoaNum +=1

    }elseifRoaNum%3==1{  //1号路口动作

        character.turnRight()

        character.jump()

        charDo()

        character.turnRight()

        JumNum +=1

        RoaNum +=1

    }elseifRoaNum%3==2{  //2号路口动作。

        character.turnLeft()

        character.turnLeft()

        character.jump()

        charDo()

        JumNum +=1

        RoaNum +=1

    }}

expert.turnLock(up:true, numberOfTimes:3)  //这个是最优的升降路了,只此一次

whileGemNum < totalGems {

    charDo()

    whileJumNum %7!=0{   //每七个格子判断一次路口。

        charDo()

        character.jump()

        JumNum +=1

    }

    LRAorund()   //会有一些动作是多余的。先捡够宝石再说吧。

}

你可能感兴趣的:(MacOS Playgrounds 学习编程二,第二十五关 ,双峰)