粉丝128获赞281

第三关,我们来思考一个问题,为什么程序里面要引入变量这个概念呢?因为所有的东西都是不断的在发生变化的,没有万年不变的东西,这个是一个普遍真理。 那试想一下,如果我们的程序只能够做一个三加三等于六的运算,那么换到另外一种情况,是不是我们的程序就没有任何价值,没有意义了? 所以我们一定要把变量这个东西掌握好,这样才能够用我们学到的知识去处理很多情况。好,我们一起来看一下这个程序变量的应用。 在这个地图里面呢,我们会发现,大夫是先要往前走一步的,然后两步,三步,四步,五六七八, 到,这是八步啊,规律很明显,那就是大夫走的步数从一,然后每次加一去变到八,那么程序怎样做呢?也非常简单啊,大夫往前走,然后大夫转向 好走多少步呢?这里要走 a 步,一定要记住,最后非常重要的,因为变量是要发生变化的,所以呢,我们最后要加上一个 a, 等于 a 加一,这样的话每次 a 就会加一,以此类推,我们运行一下看下效果。 第四关,这关呢,也是重复执行和变量的结合,我们把网格 打开,我们可以找一下规律,首先大夫是先上飞船,然后飞船往前走一步,往前走退回来,这都是一步,然后呢,飞船再往前走两步, 两步,两步,然后是三步,三步,三步。好的,那么我们就可以用一个变量 a 来表示飞船和带夫走的步数,那他们都是共同走 a 的, 那不同的是戴夫是需要退回来一下,那仅此而已,所以呢,程序也非常的清晰明了,我们认识一下 第五关规律还是非常明显,第一次大夫是走一步,然后是三步,然后是五步,然后 七步,最后是九步,好,一三五七九,所以呢每次是加二。那这里我用了一个加等的方法,那他,他表示什么呢?他其实就表示 a 等于 a 加二, 那这个是一个自家的符号,对于新手来讲,那我们可以使用 a 等于加二。那对于这个比较熟练的学生来讲呢?可以使用这个自家符号。 好,我把这个删掉,我们看一下程序的运行, 哈哈哈。

哈喽,同学们好,现在我们来看看第二十关的解题思路。那首先还是画一下前进路线,那大首先前进四步,然后大夫要取到这边的零件,然后又要取到这边的零件, 然后继续前进两步,去到这一行零肩前进两步, 取到这一行零件,前进两步,取到这一行零件,前进两步。那我们来观察一下这里有没有他动作是相同的,那我们可以观察到,哎,这里都是前进一条横线,然后再前进两步,前进一条横线,再前进两步, 他一共是重复了四次,这个动作是相同的啊,就只有这里他没有进入循环,那我们首先把这里先 做出来,待行走四步,那可以观察到,这肯定是要用我们的变量去完成的。重复了四次,副词 a 为 一,开始数一下是多少啊?一二三四五六七八,复制 a 为八,我们去一边的 重复四次,然后大夫是走到了这个位置,前行走四步,到这个位置,那大夫要进行一个转向,右转,左转都可以啊,大右转,大夫行走 a, 那大夫还要拿到这一个零件,他可以直接倒退回来,那就是大夫行走 a 乘以负二, 那现在是在这个位置,他还要回到中心点这个位置,才能去走下一段路线,所以大夫还要行走一个 a, 那现在大夫回到这个位置,那大夫的话还要进行一个转向,才能去行走下一段路线,大夫是左转,然后大夫是行走两步, 那我们再观察一下下一段路线,他跟上一段路线的对比,一二三四五六,那上一段是八,然后六的话就是真 就是减少了二,所以将 a 增加负二去进行下一次,最后点击一下运行。

好,开始在小小的花园里面挖呀挖呀挖,种小小的种子,开小小的花。在大大的花园里面挖呀挖呀挖,种大大的种子, 开大大的花。在特别大的花园里面挖呀挖呀挖,种特别大的种子,开特别大的花。好,开始在小小的花园 里面挖呀挖呀挖,种小小的种子,开小小的花。在大大的花园里面挖呀挖呀挖,种大大的种 种子,开大大的花。在特别大的花园里面挖呀挖呀挖,种特别大的种。

前进路线的话是这样子的,二四六八,二四六八的话,他每一次是增加二,但是到这一次他不一样了,他变成了九十,那我们把数字标记一下,首先呢是二 四六八,那在第八次之后呢,他每一次是增加一九十,那我们可以先把飞船的路线去走一下, 首先呢重复了一二三四五六六次,我们用重复执行来完成它,重复执行六次,然后飞船的话,我们设置一个变 量复制, a 为二,那因为它每一次增加的不同,所以我们等会要用如果去解决它。首先呢大夫行走 a 步, 哦,是飞船先前进 a 步,然后飞船进行一个右转,这是飞船的步骤,然后飞船的话,如果 a 我们可以观察到啊, 第八次之后它就变了,所以我们 a 小于八的时候,每一次是增加二的,那不符合 a 小于八这个条件的时候,我们需要去 曾加一, 好,那我们把它放进去,那做完了飞船的,接着我们去看 def 的,我们把数字,飞船的数字删一下啊, 好,接着看大夫的路线,首先大夫这里是负一步,然后一三五四 三,那我们可以观察到依旧是在 a 在八的这里,那我们它的增加的部 说他是有了变化的,一开始的每一次是增加二,增加二,到了这里呢,每一次是减少的,所以我们把大夫的路线先走一下, 大夫的父子 a 为父子, b 为负一,这是大夫的初始数值。然后呢大夫每一次 我们是大夫的路线先走的,所以我们要把大夫的路线放在飞船的前面,大夫行走 b, 大夫行走 b 乘以负一, 那大夫同样的大夫要进行一个左转 deaf 进行左转,飞船同样也是左转啊,刚才方向弄错了。好,那大夫的话同样也是在这里我们要去进行一个变化,一开始的话每一次是增加二,哎,将 b 增加二, 那到这个位置的时候他就变成了减少的,所以我们将 b 增加负一, 这样子就是完成了全部的步骤。我们点击运行看一下,这一关的话跟刚才十九关是类似的。 以上就是第二十关的解题思路。

我们来看第二关,那在第二关里面呢,我们会学到一个新的运算,叫做加法运算,当然这个加法运算和数学中的加法是一样的。我们都知道数学中的加号就是把加号两边的数值去给它加起来,得到一个新的结果, 比如说一加二,那么一加二整体的值就是三,那在程序里面也是这个作用,比如说 a 加一,就是把 a 和一的值加起来,那不同的就是前面这个等号我们在上节课已经讲过,那也就是说我们要把 a 加一的结果重新复给 a。 好,这里面呢,可能有的同学会不太理解,特别是学了这个一元一次方程的同学,可能会把它当成一个方程来解解方程的结果是什么呢? a 等于 a 加一,很容易就可以得到 a 等于零的结果,那这个是数学的结法。在程序里面,我们一定要记好一个等号,就表示把右边的值付给左边,那只有两个等号的时候,才表示两边是否相等的意思。好了,那讲完这个基本概念,我们一起来看一下这个题目。 地图里面我们会发现大夫是需要往前先走一步的,然后左转,再往前走两步,再左转,再往前走三步,然后转向走四步,我们会发现每一次大夫走的步数都是加一步的。那我们怎样用程序去表示一个过程呢? 我们看一下题目给的示意答案。首先呢,我们创建一个变量, a 等于一,然后呢带复去前进 a 步,也就是前进一步,接下来带复转向,带复左转,那么 注意看第八行这个程序, a 等于 a 加一,那么 a 的值变成了二,什么意思呢? a 原来是一, a 加上一之后呢?再把得到的新的值重新复给 a, 那么此时 a 就变成了二, 一定要记好等号是负值的作用。接下来让大夫再往前走一步,那此时是不是就走两步了, 然后再转,那再进行一个, a 等于 a 加一,那么 a 从二二加一,然后重新复给 a, 就变成了三,那依次类推,那么第三次的时候 a 就变成了四,那么最后一次再加一, a 变成了五。 看完上面的程序呢,我们看最后一行,这个注视,找出代码的规律,将上面的代码修改为否语句的, 也就是说我们需要用到破循环,循环的关键在于每一次执行的程序必须是一模一样的,我们注意看这几段程序啊,这三行,这三行,这三行好,这三行是不是一模一样的? 所以呢,我们可以用 for 循环来修改一下啊,我们在这里练习一下啊,直接点击,点击这个 for in rent, 那么需要循环几次呢?一二三四,循环四次,那么我们在这里就输上一个四啊。接下来我们在冒号后边直接去按回车键,这样的话就会自动回到 four 循环里边去了。 循环什么东西呢?刚才我们已经发现下边这几段程序都是一样的,现在我们把整体来做一个复制 ctrlc, 然后呢在这里进行 ctrl v 粘贴,那这里一定要注意,我们要把程序给它进行对齐,只有对齐的情况下才表示这三行程序是包含在数循环里面的。 好,那么后边呢,我们是不是就可以删掉了,来,我们把它全都删掉,来,接下来我们看一下整个程序的运行结果, 好了,五行十四步。

哈喽,同学们好,现在我们来看看第二十关的解题思路。那首先还是画一下前进路线,那大首先前进四步,然后大夫要取到这边的零件,然后又要取到这边的零件, 然后继续前进两步,去到这一行零肩前进两步, 取到这一行零件,前进两步,取到这一行零件,前进两步。那我们来观察一下这里有没有他动作是相同的,那我们可以观察到,哎,这里都是前进一条横线,然后再前进两步,前进一条横线,再前进两步, 他一共是重复了四次,这个动作是相同的啊,就只有这里他没有进入循环,那我们首先把这里先 做出来,待行走四步,那可以观察到,这肯定是要用我们的变量去完成的。重复了四次,副词 a 为 一,开始数一下是多少啊?一二三四五六七八,复制 a 为八,我们去一边的 重复四次,然后大夫是走到了这个位置,前行走四步,到这个位置,那大夫要进行一个转向,右转,左转都可以啊,大右转,大夫行走 a, 那大夫还要拿到这一个零件,他可以直接倒退回来,那就是大夫行走 a 乘以负二, 那现在是在这个位置,他还要回到中心点这个位置,才能去走下一段路线,所以大夫还要行走一个 a, 那现在大夫回到这个位置,那大夫的话还要进行一个转向,才能去行走下一段路线,大夫是左转,然后大夫是行走两步, 那我们再观察一下下一段路线,他跟上一段路线的对比,一二三四五六,那上一段是八,然后六的话就是真 就是减少了二,所以将 a 增加负二去进行下一次,最后点击一下运行。


第十关,这关呢稍微有点难度,但是呢也非常有规律,我们仔细看一下地图,大夫沿着直线往前走的话,是每次要走两步,那关键就在他去两边收集能量的过程。 第一次呢要往前走一步,往右边走一步,第二次是往左边走两步,那第三次是往右边,然后第四次是往左边,第五次是右,他是左右左右的进行交替的,但是他的步伐呢,非常有规律,是一二三四五步。 他的关键点就在于我们怎样去让戴夫往左边走还是往右边走,给他区分开。 我们先把程序的整体架构做出来,那我们是需要先创建一个变量,这个变量表示大夫去收集能量所要走的步数一二三四五。那么然后呢,去进行一个重复,之前否循环五次, 那五次里边都干了什么呢?首先是大夫往前走两步,好直接走,然后呢大夫我们让他统一往右转吧,转完之后呢,大夫是需要继续往前走的,对吧?走完之后呢,大夫要干什么?是不是要退回来? 吹回来之后大夫是不是要转回去啊?那转回去是不是要往左边转?这样的话一次重复这样的内容我们就已经做完了,我们来分析一下,那这边是不是应该走 a 步? 那退回来是不是应该走负 a, 然后这个 a 是不是每次要加一,所以呢 a 等于 a 加一, 如果都是在同一边,都是在右边的话,走五次没有任何问题。那么现在是左右交替着走,那应该怎么办呢?在这个前进的程序里边,正数的话大夫会往前走,负数的话 这个大夫就会往后退。第二次,这个 a 加一之后,我们能不能让他去走一个负 a, 那走负 a 的话,他是不是就会往左边去走了?然后负负得正,两个负号,那就得到了一个正的 a, 他就会回到中间的路线。 那么第三次,这个负 a, 我们再让他变成 a, 那这样的话,他是不是就会往右边去走,然后再退到中间啊?依次类推。第四次,我们再让他走负 a, 第五次去走一个正的 a, 那这样的话,关键点就在于我们要找出怎样让这个 a 正负正负的去变换好,这一点呢?稍微有点超纲,我们需要创建一个变量 bb 来表示带夫前进的方向,当 b 是正一的话,那么带夫就是往前走,当 b 是负一的话,带夫就是往后退。 而且呢,我们需要这个 b 在一和负一之间不停的交换,不停的变换。那具体应该怎么做呢?好,我们把这个程序填进去,不管往左边还是右边走,都是走 a 步,我们希望这个 a 具有方向,所以呢,我们可以让他乘上这个方向 b, 那往后退是不是直接乘上一个 负一就可以了?同样也是 a 乘以 b, 好,那么 b 一开始是一,任何一个数乘上一都是它本身,那么第一次应该是没有任何问题的。那么 a 去加一之后, b 怎么变呢?好, b 等于 b 乘以负一,为什么这样去变化呢?我们做一个演算, 一第一次的话,必是一对不对,那经过一次循环,一乘以负一,会得到负一,第三次的话,负一再乘以负一,会得到一个正义。第四次的话,那么负一再乘以一,得到一个负, 第五次的话又得到一个正义,那这样的话就表示第一次是往前走,第二次是往后退,第三次再往前走,第四次还是往后退,第五次又往前走,那这样的话是不是就可以实现这个方向的变化啊?我们看一下程序运行的效果, 哈哈。

通过第六关的学习,我们可以借助 for 循环里面的这个变量 i 去做一些啊优化。 那么我们看一下第七关,第七关同样还是一个阶梯型的地图,路线还是很清楚啊,就是一个左转,一个右转,一个是 left, 一个是 right, 那么怎样走呢?我们会发现这个大夫一开始是背对着这个路呢,那 我们就可以考虑让大夫去全程倒着走,那倒着走是不是要用到负数?我们看一下地图的规律, 首先往这边啊,不用走,那直接要转,转完之后是往这边走一步,那往这边是走两步,我标出来,然后再往这边是两步,正往边是四步,然后三步,六步,然后我们会发现往外方向上走是一二三, x 方向上走是二四六,他们成一个二倍的关系,所以这里我们用一个二乘以 i 加上一,那么这个负号是表示倒退的 i 减一是怎么来的? 或者二加一怎么来的啊?当然在外方向上是一二三的变化,我们在上个关卡已经说过了,只要是这种一二三的都可以表示成二加一 啊,那这里面前面加上一个符号啊,本来是这个样子,那么去掉括号之后呢,就会变成负的二减一,这个就是第七关的程序,我们运行一下, 那我们看一下第八关,这个地图还是非常的简单,思路也很清楚,我们只需要让飞船走到中间,然后再往这边走 a, 然后倒退二 a, 再往中间走 a, 那么然后 飞船继续往前走,一直这样去走下去,那么这个 a 是不断发生变化的,每次 a 是减二的,所以呢,我们在最后加上一个 a, 等于 a 减二。好,我们看一下程序的运行。 第九关和刚才第八关非常的像,我们还是分析一下地图的规律。首先大夫是需要往前走的,先走一步,那么再下一次走的话是两步,然后三步四步,一二三四的规律, 一二三四,那么往两边的话是三四五六。好,三四五六的规律 我们刚才已经讲过,碰到一二三四就把它干什么,是不是可以把它当成二加一, 那么三四五六是不是也有规律啊?可以把它变成二加三,那这样的话,不管他往回倒退多少,我们给他乘上一个负二就可以了。所以呢,这个题也非常的清楚,我们直接运行一下程序。

第十五关,我们先看一下十五关的注视,特别是第二行啊,这关是你无论如何都不能得到三星,但是没有关系,可以先挑战后面的关卡,当你学到新的知识以后,可以再回来重新挑战。 那这点是为什么呢?因为这一关啊,我们会看到啊,他其实要走这样一个路线,我们很很容易的就想出要使用这个或循环,但是呢他下边又没有给这个或循环的程序,所以可以怎么办呢?我们可以这里手写啊, for i 引啊引机, 然后这是几次啊?一会我们挨个来看啊。好,那么我们之前在讲负循环的时候,这个爱爱,他是怎么变化的呢?爱,比如说我们重复执行四次,那么爱就是从零开始变化,然后一 二三,这样一共变化四次,巧合的就是在这里啊,每一块飞板都有编号,那么这个编号也是从零开始的,比如说这里四块飞板,零一二啊,零一三二,零一二三啊,刚好是四块飞板, 那我们怎样去利用这个破循环控制飞板的移动呢?好,那我们可以试一下啊, 我们在调用飞板的时候呢,我们用鼠标一点,他会出现这个啊,弗莱尔后边加一个数字,那我们把这个数字去给他改成爱, 当爱等于零的时候呢,就表示第零块飞板要进行移动了,我们把移动给他加上,那么下一次循环爱会变成一,那么就是说第一块啊,这个飞板也要开始移动,第三次循环的时候,爱会变成二,就会第二块飞板,然后是第三块飞板,零一二三,刚好 四块。那我们可以先运行一下这两行程序,看看什么效果。点击。哎,我们会发现啊,这个飞板呢,他就排成了一列啊,这个时候呢,我们可以干什么?我们是不是就可以让戴夫去通过啊?这两边,然后走到这里, 那紧接着我们再做一次循环,把这两个飞板去给他挪到这个位置,大夫过去是不就 ok 了?好,那么这样做的话啊,我们就也可以打到三颗星了啊,当然这里面没有破循环,需要我们自己去打。 for range 还可以用 i 啊,因为这个电量每次在使用的时候都是会进行重置的, 那第二次的话就是戴夫要走了,戴夫是前进两啊,前进,然后左转一二三,前进三步,然后 加上左转重复进行两次就可以了啊,好,我们再看一下效果。 好,此时大夫走到这里,那我们接下来接下来是不是只需要让这两个飞板跑到这里,大夫过去就可以了?好的,我们还可以使用重复执行来做啊,继续点击。 好,这里还需要强调一下关于重复执行的这个格式啊,一定要把这个光标放在最前面,这样才算是开始了一段新的程序,没有再重复执行里边 第三段程序,我们把零号和一号飞板就飞过去啊,也是 for in i in 啊 range 这时候是吐啊,两次干什么呢?我们点一下这个飞板 flare i, 然后前进,前进几步啊?我们打开网络数数,一二三,前进三步,前进三多一个点。好,最后呢最后是大夫往前走三步就可以了啊,大夫,前进三步 好,运行一下 啊啊。


哈喽,同学们好,现在我们来看看第五关的解题思路,那我这里已经画好路线了,来看一下这一段竖着的路线是,呃呃呃呃,他是没有进行变化的,所以不需要用变量。那我们再看一下这一段横着的路线, 首先呢是一,然后是二四 七,一二四七的话,它是有在进行变化的,那我们需要找到它的变化规律,用变量来完成。那一加一等于二,二加二等于四, 四加三等于七,那我们可以观察到啊,他加的是一二三,好像构不成一个规律。那我们再看看,用乘法,一乘以一, 一乘二等于二,二乘二等于四,那是四乘二等于八,那也够不成,那我们只能用 想换一个思路来想,我们把这个变量设置为 a, 那他这里每一次增加的他都是递增了,多增加了一步,那我们把这个变量设置为 b, 我们用两个变量去完成他,看看能不能行啊。 首先呢,你看一下我们的 a, 每一次都是加 ba 等于第二遍的这个数字,一加 bb 等于二,二加 b 等于四, 四加 b 等于七,那这样子的话,刚好构成了 a 加 b 就可以等于第二次的要走的步数了。那我们来做一下复制, a 为一,一开始 a 是 e 啊,然后复制 b 为一, b 开始也是一,然后一共是重复了一二三四四次, 然后每一次 a 的话,要变成第二个这个数字的话,它需要去加 b, 所以将 a 增加 b, 那 b 的话,每一次是一二三,每一次是增加了一,这样子的话,我们就找到了他的运算规律了。然后我们再来走一下,首先呢,大夫先行走两步,这一段他是没有变化的,然后大夫要进行一个左转, 大夫行走 a 步,大夫还要后退回去,大夫行走 a 乘以负一, 然后接着 def 需要进行一个右转,这样子是完整的一次重复,一共重复了四次,点击一下运行。 以上就是第五关的解题思路,我们的 a 这里运算的话,不仅仅可以增加数字,也可以增加另一个变量去完成它,找到它的规律。

大家好,我是新霸。呃,现在我们开始第七课的训练啊,技术训练三第七课的训练。呃,本课呢啊还是对我们义父学呃义父这个判断语句的一个熟悉熟练。 嗯我们回到他的原始状态啊回到他原始状态,嗯,使用义父与剧完成收集任务。我们看看地图啊,地图首先我们跟上一关是差不多的,也就是我们这个,呃,也是一个外轴方向的这个 搜集任务啊,有的是我们开飞船可以直接拿到的。然后像这种呢 y 啊,大鱼啊 y 大鱼,我们这个 g 线的 y 的,艾特米的 y, 大鱼 g 线的 y 的,那我们需要什么?需要他去。呃。往下 去搜集一下啊,小人上来搜集一下。也就是判断的时候什么我们的 itany 啊,是 y 方向的运动啊,点 y 那就距离判断是 这么一个判断方法,对吧?点 y 如果是他大于他,那我们一夫一居的写法啊, 条件啊,衣服条件后面跟上个冒号,对吧?跟上个冒号,然后是下面的代码块,必须要缩进,缩进四格,缩进四格我们可以用一个退步键来表示啊,可以用个退步键来快点表示。 如果是大于他的,那我们必须什么啊?必须前进,前进个步数,前进多少步啊?前进多少步?就是用我们的这个 iton i, 对吧?减去 ktv 点 step 嘛, 这边有,这边有我们就可以把它干什么,这边有了就可以直接把它放进去,对吧?放进去 staple 应该是 item i 点 y 减去 对吧?减去这个纸就当间距离对不对?然后这边还需要再退回来,退回来我们就需要一个副号对吧?副号,我们用括号把这个里面的这个纸扩一下,把括号放到前面。 这种方法就是叫什么?我改变他们的括号的作用是改变他的优先级啊。改变计算的优先级,先让他计算出一个值,然后用负号表示倒退,对吧?倒退 的度数。好,来我们运行一下看看啊。 嗯,没倒退,没倒退,这是有问题的啊。没倒退用个变量吧好不好?用个变量我们定一个 d 等于 这个贴啊。 这个好,我再看看。啊 啊啊。但是我们这块代码多了一个对吧? 代码多了一个,我回去看看我怎么优化一下啊。嗯, 第一等于不能用吗?还是直接用它对不对?直接用它就直接用它吧。为什么副号是不行的?那肯定是我们刚刚写的哪边是有问题对吧? 早退回去不行我试试看呢。 step 对吧? step 看一看啊,错了。对啊,刚刚那个地图是 是吧?然后这边是哪里出错了?玻璃括号,玻璃括号。 哎,他就是不知心,就是不知心,这好神奇啊。就是不知心。其实我们还有个方法,用反方向解一下, 反方向点一下就是什么呢?倒退就是意思就是用它剪,它 反过来剪就是一个护肤,对吧?这个是我们的啊,一种啊,一种数学上的取复数的方法啊,再来跑一下看看啊。 嗯,这又是怎么回事?这里问题比较严重啊,为什么会不行呢? 其实我们这边是一个固定的步骤,其实我们可以把它固定,因为他点他的一二三四。 嗯,一二三四个就用四把都是可以固定的啊,因为他这边也是这么多 二三四,对不对?是固定的。嗯,其实我们不建议这么去做啊,但是呢,这块怎么跑? 跑不过去,我们不知道什么原因啊?不知道什么原因啊?理论上我们工作是没有错的,对吧?他讲他是正,对吧?他讲他应该是问题 啊,我知道原因了哈,好,不用回去了。你看啊,你看我们这边应该是什么呢?我们这边应该用飞船。 为什么这么说啊?你看,嗯,我们 step 这个啊,你用 item 这个是吧? item 点 i 点 y, 是吧?十三,减去他,对吧?然后小人前进了。四,小人后面在在在什么位置?在这个位置你再减,减出来是零对不对?不就没动吗? 那我们应该减谁?我们减飞船,飞船在这块挪动对吧?我们用飞船的位置剪,所以这样是可以的啊,这样是可以,刚刚我们那个方法错误的原因就是我们没有找到那个正确的位置,我们小人已经运动了,对吧 对吧?我想告诉你们,然后飞船是在北动,对吧?这个减法是正确的啊。好,本官讲述完毕。

前进路线的话是这样子的,二四六八,二四六八的话,他每一次是增加二,但是到这一次他不一样了,他变成了九十。那我们把数字标记一下,首先呢是二 四六八,那在第八次之后呢,他每一次是增加一九十。那我们可以先把飞船的路线去走一下。 首先呢,重复了一二三四五六六次,我们用重复执行来完成它,重复执行六次。然后飞船的话我们设置一个变 量,复制 a 为二,那因为它每一次增加的不同,所以我们等会要用如果去解决它。首先呢,大夫行走 a 步, 哦,是飞船先前进 a 步,然后飞船进行一个右转,这是飞船的步骤。然后飞船的话,如果 a 我们可以观察到啊, 第八次之后它就变了。所以我们 a 小于八的时候,每一次是增加二的,那不符合 a 小于八这个条件的时候,我们需要去 曾加一。 好,那我们把它放进去,那做完了飞船的。接着我们去看 def 的,我们把数字飞船的数字删一下啊。 好。接着看大夫的路线。首先大夫这里是负一步,然后一三五四 三,那我们可以观察到依旧是在 a, 在八的这里,那我们它的增加的部 说他是有了变化的。一开始的每一次是增加二,增加二,到了这里呢,每一次是减少的。所以我们把大夫的路线先走一下, 大夫的父子, a 为父子, b 为负一,这是大夫的初始数值。然后呢,大夫每一次 我们是大夫的路线先走的,所以我们要把大夫的路线放在飞船的前面,大夫行走 b, 大夫行走 b, 乘以负一, 那大夫同样的大夫要进行一个左转。 deaf 进行左转,飞船同样也是左转啊,刚才方向弄错了。好,那大夫的话同样也是。在这里我们要去进行一个变化。一开始的话,每一次是增加二,哎,将 b 增加二, 那到这个位置的时候,他就变成了减少的。所以我们将 b 增加负一。 这样子就是完成了全部的步骤。我们点击运行看一下。这一关的话跟刚才十九关是类似的。 以上就是第二十关的解题思路。

我们看一下一级训练场中的变量入门关卡,变量入门关卡中的地图非常的简单,都是一些路线规划的地图,那么重点我们需要去讲一下复制变量 a, 还有这个将 a 增加 第一关,这个地图非常简单,我们会发现只需要让大夫右转,然后呢往前去走四步就可以了。 但是官方给出的视力啊,是我们先使用复制 a 为四,然后带负右转,再带负行走 a 部,这样用了三行程序,他有什么作用呢? 那复制 a 为四,意思就是说现在呢,我们来创建一个盒子,这个盒子的名字叫做 a, 那 a 里边放的什么东西?一开始我们不知道, 当运行完这个复制 a 为四之后呢,就会把这个四放进去,此时呢我们再去用这个 a 的话,就相当于调用了一个四, 这个和我们数学上讲的这个未知数有点像,比如说我们设置 xx 等于四,那么当我们使用二乘以 x 的时候,那就是二乘以四等于八,它起到这样一个作用。 好,那么还有一个程序,将 a 去增加多少?那我们来看一下,如果将 a 去增加一的话,那 a 一开始是四,我们将 a 增加一, a 会变成几呢? a 里边原来是放了一个四啊,当我们用这个将 a 增加一的时候呢,就会把里边这个四 四给他拿出来放在这,然后呢让这个四再加一,他会得到一个五,然后再把这个五重新放回到 a 里边,那此时呢 a 就会变成了五,那么下一次如果再将 a 加一,那么五就会变成六, 依次类推啊,每次后边加多少,那就是把原来这个 a 的数给他拿出来,加上后边这个数,得到的新的数,重新放在 a 这个变量盒子里面,那这个就是关于变量负值和将变量增加这两个语句的作用。 好,那么第一关非常的简单,那我们看一下啊,快速关于变量入门这些关卡呢啊,都是非常简单的,同学们可以直接使用金模块 去完成,也可以使用复制变量 a 为多少来进行变量的练习,比如说这一关,我们可以直接把这些四都去替换成 a, 那这样的话啊,他是和直接走四步是一样的。好,后边的关卡呢,我就不再一一的去讲了,就是非常的简单。好了,那么变量入门就讲到这里,下个视频呢,我们会来讲一下变量的练习。
