在不知不觉中,我们已经闯过了第一章节,下面是往期回顾。
目标
第七关不像之前一样,不是修改错误程序,而是选择最短路线,下面是本关目标:


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

第一种是黑色箭头,第二种先过红色箭头,再顺着黑色箭头走
到这里,你还需要把最短的路线找出来,才能图形语言转化成命令即可。
关于找最短的路线,有两种办法。
第一种:数格子法,它适用于任何关卡,麻烦费时。
第二种:走直线法,适合当经过的地点可以用一条直线穿插(可穿过传送门),那么走直线最短,不适合传送门多的关卡。(原理是两点之间直线最短)
第三种:一笔画排除法,如果走过的路线可以一笔画完,那么再试试别的路经,排除不能一笔画的路经。(传送门处可断开)
我们再用第二种方法找出最短方案,再用第一种方法检验,答案显而易见,是第一个方案(黑色箭头)。
编程
下面是原程序修改答案和注释(//之后的):
moveForward()
moveForward()
moveForward()
collectGem()
//走到宝石处,收集宝石
moveForward()
moveForward()
moveForward()
moveForward()
toggleSwitch()
//穿过传送门,打开开关
演示
到了最后大家最激动人心的时候了,最终效果:
文章转载自IT父子兵,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




