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()   //会有一些动作是多余的。先捡够宝石再说吧。

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容