
第二关 添加新命令
▲任务描述
使用Swift命令,让Byte行动起来,去收集宝石,游戏第二关界面如图2.8所示。

图2.8 游戏第二关界面
小贴士
图2.8中的①是提示按钮。点击它,可以弹出通关的方法。
②是控制关卡音效的按钮,点击“”按钮,弹出“
”,可以控制背景音
乐和声音音效。伴随音乐闯关,更有趣哦!
此关卡中可用的相关命令如图2.9所示。

图2.9 浮现命令栏
▲任务分析
第二关相比第一关增加了一点难度,根据场景地图可知,Byte需要先向前走2步,此时前方有障碍无法继续前行,Byte必须向左转,再向前走2步,就能到达宝石所在位置,然后拾取宝石即可。
▲解决方案
此关卡给出了3个可用命令:moveForward(),collectGem(),turnLeft()。前两个命令在上一关中已经使用过了,那么就来试试turnLeft()的作用和效果。
命令t u r n L e f t ()
点击代码区域的空白处,选择浮出的命令栏中的turnLeft()命令,然后点击地图下方的“运行我的代码”图标,看看执行命令
的效果吧。

命令效果视频
命令效果1:Byte向左转,如图2.10所示。

图2.10 命令turnLeft()运行效果
命令效果2:Byte向左转,再向左转,即向后转,如图2.11所示。

图2.11 两个turnLeft()命令的运行效果
小贴士
turnLeft()是原地左转。
在熟悉了新命令后,根据前面的任务分析,Byte站在起点处,只需要先向前走2步,然后向左转,再向前走2步,到达红宝石的方块,最后跃起获取到红宝石,应该就能完成任务。一个供参考的命令组合解决方案如下。

运行的关键步骤效果如图2.12所示,经过向前行走2步,然后左转,再经过向前行走2步,最后在宝石下方跳起取到宝石,完成任务。

图2.12 运行关键步骤的效果

运行微视频
编程思维
目前,我们已经完成了两关,提出的参考方案均属于顺序结构。顺序结构的程序设计是最简单的,只要按照解决问题的顺序写出相应的语句就行,它的执行顺序是自上而下,依次执行。
▲任务小结
①学会使用turnLeft()控制角色左转。
②学会规划复杂一点的路径。
③学会组合多个命令去完成复杂一点的任务。
④明白命令顺序的重要性。
▲任务拓展
1.在App中完成此关卡的任务
2.习题练习
任务场景再现:

(1)如果解决方案是这样的,能完成任务吗?如果不能,该如何修改?

(2)如果解决方案是这样的,能完成任务吗?如果不能,该如何修改?

3.任务拓展
如果任务场景如图2.13所示,该如何给出解决方案?

图2.13 任务拓展场景
你的思路: