如何通关Playgrounds 学习编程2 第3关 使值递增
1、解读给出的题目:目标:递增变量来跟进已收集的宝石数量。在上一项挑战中,如果你不知道关卡中宝石的数量,则不能设定1、2或3这样确切的值。你需要相对其当前值来增加变量的值。这种编程模式称为递增值。递增值var myNumber = 0myNumber = myNumber + 1这一关在你每次运行关卡时产生随机数量的宝石。你无法得知宝石是否位于特定位置,因而需要检查每个砖块。只要遇到宝石,你就需要收集它并将gemCounter的值递增1。1赋予gemCounter初始值0。2编写在每块砖.上检查宝石的代码。3只要有宝石,则收集它并将gemCounter的值递增1。
2、理解示例:因而需要检查每个砖块。只要遇到宝石,你就需要收集它并将gemCounter的值递增1。这句话是关键,就是加一个判断,每走一步都要检查一个砖块,如果遇到宝石,就收集,并把gemCounter 数值增加1。同时还教会你怎么将gemCounter 增加1,并在提示中给出了代码
3、设置初始值为0,我们可以考虑不喉哆碓飙去数格子,用无限循环while 的语法让其自动执行。1)循环的执行步骤,需要完成任务:a)往前走一格;b)判断是否有宝石;艘早祓胂c)判断是否要转弯;d)判断是否走到了尽头b)判断是否有宝石,有则捡起,没有则不动作c)判断是否要转弯,(判据:前面挡住了)有则右转,没有则不动作d)判断是否走到了尽头,(判据:前面挡住了 && 左右都挡住了)是则break(跳出循环),没有则不动作继续循环
4、根据上述思路,给出代码:while true { if isBlocked { turnRight() } moveForward() if 足毂忍珩isOnGem { collectGem() gemCounter = gemCounter + 1 } if isBlockedLeft && isBlockedRight && isBlocked { break } }
5、执行代码后,给出通关提示:你正成长为一名变量达人!通过将条件代码、循环和变量组合在一起,为一些尤为复杂的App构建了基础。接下来,你将使用变量来收集特定数量的宝石。