暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Swift Playground学习编程1第7关

IT父子兵 2021-07-29
1221

在不知不觉中,我们已经闯过了第一章节,下面是往期回顾。

往期回顾

目标


第七关不像之前一样,不是修改错误程序,而是选择最短路线,下面是本关目标:



思考

我们在做这种题时,先把Byte所有可能性的路线画出来,下面是最主流的两条路线(利用后面第三种方法)


第一种是黑色箭头,第二种先过红色箭头,再顺着黑色箭头走



到这里,你还需要把最短的路线找出来,才能图形语言转化成命令即可。

关于找最短的路线,有两种办法。

第一种:数格子法,它适用于任何关卡,麻烦费时。

第二种:走直线法,适合当经过的地点可以用一条直线穿插(可穿过传送门),那么走直线最短,不适合传送门多的关卡。(原理是两点之间直线最短)

第三种:一笔画排除法,如果走过的路线可以一笔画完,那么再试试别的路经,排除不能一笔画的路经。(传送门处可断开)

我们再用第二种方法找出最短方案,再用第一种方法检验,答案显而易见,是第一个方案(黑色箭头)。

编程


下面是原程序修改答案和注释(//之后的):

moveForward()
moveForward()
moveForward()
collectGem()

//走到宝石处,收集宝石
moveForward()
moveForward()
moveForward()
moveForward()
toggleSwitch()

//穿过传送门,打开开关

演示

到了最后大家最激动人心的时候了,最终效果:


文章转载自IT父子兵,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论