美文网首页
MacOS playground 46关 左转还是右转 关卡思路

MacOS playground 46关 左转还是右转 关卡思路

作者: 毛线帽1894 | 来源:发表于2020-11-29 17:17 被阅读0次

    这一关我认为比前两关的判断条件简单,因为画面不是随机生成的,是固定的,所以我们可以通过分析每一个井盖的位置和四周特点找不同~

    如图我们可以看出,一共六个井盖,固定条件是遇到井盖便左转或右转。但是向左还是向右,这是一个问题。

    经过分析,6个井盖和对应的特点如下:

    1.前面无阻碍 →(右转)

    2.前面有阻碍 ←(左转)

    3.前面有阻碍 ←(左转)

    4.前面无阻碍 →(右转)

    5.前面有阻碍 ←(左转)

    6.前面有阻碍 ←(左转)

    正好可以把前方有无阻碍和转的方向对应起来,无需其他条件(我真是个小机灵鬼),然后有了这一个条件就好办了许多,不用分成更多情况了。代码就随之得出:

    func step(){

        if !isOnClosedSwitch {//不在井盖时

            moveForward()//前进一步

        }else{//在井盖时

            toggleSwitch()//打开井盖

            if !isBlocked{//前方无阻碍

                turnRight()//右转

            }else{//前方有阻碍

                turnLeft()//左转

            }

        }

    }

    while !isOnGem {//不在宝石上时

        step()//开启上述轮回

    }

    collectGem() //看到宝石时,抓住它!

    相关文章

      网友评论

          本文标题:MacOS playground 46关 左转还是右转 关卡思路

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