第一步,我们要收哪一个?第一步我们要选那个。哪个?最近圆珠笔一到三,一到四步的那个。这个最近吧?对,所以是不是先这样?对,然后收它吧?对, yes, 看到规律了,结束了。最明显有个圆就是三个。嗯,三个。所以还是这次是增加还是减小?减小, a 和 b 都要减小吗?对,那是不是结束了?哇?开始做第一步是不是左转?嗯,左转走几步? 一二三四四步。然后呢?然后右转,右转走几步是没到我呢?然后下一步是不是该左转走三步了?看出来了吧?看出来了。拿变量,第一次,第一个变量 a 的 初十是几? c 与 s, 这两个都要换成几 a。 a 每次加 a 增加几。不一不一。那很好,因为每次要减小误差。对,完了吧?完了。
粉丝471获赞2735

这是不是一个拐弯?是,这是不是第二个拐弯?是规律,看出来没?哦?尾数是增加一,哪个是增加一?就是变量是增加一的, 往前走哪一条线增加一?比如说这个竖着的线都得。这个是 b, 哪个要增加?都 a b 都增加, a b 都要增加,对不对?对,所以我们先试着做一下 啊。第一步是不是仿飞船一步,然后右转飞船再一步,第二次该干嘛呢?飞船两步,所以已经看出来了吧。每次加到一,每次加几一,那是不可以设变量了?是,是 直接拿这个第一步 a a 的 出是指一一一吧。对,这个不要了吧?对, 这个地方是不是也得写文明啊?哎。对,每次加几一次加一好了没?好了, don't forget to start with yourself。 为啥要改成三次?你三个啊? no, 为啥有三个 one? 有 三个 one 好 了吧。哎呀妈,我说路线正确,行数正确,步数超了咋办?重复折行多了,一般是大百分之九十的概率是重复折行的原因,好了吧。

第十九关,十九关和刚才那些关卡都是反着来的,我们来看一下规律,首先这边是需要走两步,四步,六步,八步,然后是四步二八四二幺,这样一个过程,我们会发现每次是除以二的一个动作,对吧?这个路线, 所以呢,我们这里要用负值语句把 a 负为 a 除以二,好,一起来看一下效果。 第二十关没有明显的路线,但是呢,我们可以找到规律,飞船是需要这样来走的,因为他要收集能量块,对吧? 同样他也给出了提示,是九三幺,那么每次是 h 除以三的。好了,那么飞船应该怎么走呢?飞船应该是先右转,然后 后再往前走,那么 a 的处值应该为九,每次的话一定要用负值语句把 a 去除以三,这样的话第二十关就搞定了。

好,现在我们来到积木模式 a 级训练场积木基础入门二的第二十关,那在这关中,我们来看一下 deb 的行走路线,走四步,到达这里之后呢, 走了八步,拿完这个能量,他这边是不是还需要拿呀?那这个是对称的,那这边过去是八步呢,那他就要退十六步啊,退完之后再行走八步,左转走两步,到这里来 之后右转。啊,这次就是六步啦,一二三 一二三四五六六步。好,那退回来就是他的后两倍,对吧?那就是十二步。好,再行走六步, 左转走两步,退回呢?他是四步了啊,退回来是八步。八步, 然后右行走四步,左转走两步啊,这次呢是走了两步,退回来四步,走两步,再左转走两步。 好,那我们可以看到啊,他是对称的规律,我们应该也能够看得出来了的,行走的步数是在变化的。好,那我们可以用变量,那负值 a 为多少呀? 复制 a 为多少呢?啊?都是看最开始是走几步,那我们可以看到,最开始一二三四他是走四步,但是这个四步啊,他是不在变化啊,不在他的一个规律范围内的,他的规律是 八六四,那这里的四步呢?是不在他的规律范围内的。所以呢,我们可以把 f 行走四步先写在外面,好,然后右转之后。啊, f 最开始的时候他应该行走的是八步, 最开始的时候应该行走的是八步。好,然后呢?啊?步行走四步之后,他的朝下是这个方向上的啊,好,朝向是这个方向上的。 嗯,那我们就需要让 def 右转吧, def 右转,那 def 右转需不需要写到重复执行里面啊?啊?可以不用的,对吧?啊?可以不用的啊,我们直接让 def 右转,面向这个 方向,接下来的就靠后退就可以了。那再不啊,还不右转? 好,然后我们写下它重复的内容,重复四次吧。啊?重复四次啊,每一次都是 f 行走 a 步。 好,然后后退回来,后退回来,我们说了它是两倍啊,对吧?后退回来它是两倍,那这里呢?我们就可以负二,之前我们后退都是负一,那这次呢,可以是负二倒退两倍嘛,前面加个负号啊, 负二乘以 a。 好,然后呢?再让他往前啊,负二乘以 a, 到达这里之后再往前走八步,然后左转 啊, f 转啊,那 def 右转啊,是需要写到重复执行里面来的啊? def 左转,然后走两步, 嗯,左转走两步,接下来他就再需要右转,是吧?再需要右转,然后接下去啊,接下去呢?他是他的规律啊,我们可以看到是八六 四啊。那是不是每一次都减少二呀?好,每一次都减少二。那但是我们这里呢,只有将 a 增加,那我们就增加负二呗,好 好增加负二。嗯,那我们来看一下运行效果。右转啊,走八步,退十六步,再前进八步,左转走两步。 好,那这一关呢,我们就三颗星的通过了。

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

我们继续来看第十关,同样是考察重复执行的一个关卡,还是老方法,我们先来寻找他的最基础的路线, 那我们可以啊,很很容易的看出来,他是一个环形的路线,在环形的同时呢,两边有这个能量块,我们就需要让大夫啊,去把这两个能量块收集掉,对吧?四个路线上都有, 那么我们就可以看出这个路线他其实是什么样的路线,那是不是一个环形的,加上什么?加上王字形的一个组合变形,对吧?那是不是看 是不是王字形?好。那么这个题目应该怎样去做呢?首先第一步啊,我们是需要 大夫啊,转一下,把这个能量块收集,然后倒着走到这,然后再回到飞船上,然后呢,飞船带着这个再夫啊 往这走,走到这个位置,那接下来呢,是不是要重复同样的动作,对吧?那这样的话啊,这个解题思路就很明显了。 好,那也有同学会问啊,老师,为什么你第一次不让大夫啊,这个飞船走到这个位置去收这个呢?两块, 好,这个啊,我们就需要强调一下,重复执行是什么?重复执行必须要做一模一样的事情才可以重复,那我们想一想啊,如果让飞船先飞到这,然后呢?下一次我们再重复执行的话,让飞船是直接让他走三步吗?能不能走?肯定不能,对不对? 非常要这样走,这样走的情况下,是不是就和第一次不一样了?不一样的话,能不能使用重复之枪?肯定不能,对吧?所以我们一定要牢记这个啊,牢记这个概念,重复执行必须是一模一样的,这个动作才可以重复, 好了,为了实现啊,我的我们能够重复执行,那我们一起来看一下怎样做。首先大夫啊,这个左转或者右转都可以,那我就就让他右转吧, 然后走一步,收集了这个能量块,对不对?然后呢,倒着往后走,一二三走三步,那这里应该是减三, 然后呢,再往前走,走两步回到飞船。回到飞船之后,这里有一个问题啊,我先留一个悬念,那大夫要不要左转啊?重新回到 原来的位,原来在这个方向。好,先留一个悬念啊,先放这吧。好,大夫,回到飞船上之后呢,飞船要继续往前走啊,要怎么走?一二三四走四步,对不对? 然后呢,飞船转弯右转,再往前走一步,就会来到这个位置,对吧?就会来到这个位置。好,我们一起看一下, 好,注意看啊, 此时代夫他的方向是朝这里的,对不对?那飞船呢?飞船的方向是朝这的,那一开始飞船我换一个颜色啊, 一开始飞船是不是也是啊?怎么讲啊?飞船 是顺着这个这条边的方向,对不对?那大夫是朝哪的?大夫是不是也是朝着这个方向的?然后我们就发现了啊,他们的不同之处, 如果啊,我们在这加上加上左转,那么大夫和飞船走到这的时候,那么大夫就会朝向这个方向,就和原来的方向是一样的。那么这个时候我们能不能继续用重复执行呢?我们来想一想,好,我们重复重复执行的第一个代码是什么? 大夫,右转对不对?那么大夫右转右转之后是不是要朝这呢?朝这往前走,能不能走?不能,对吧?所以呢啊,这个左转啊,没有必要,那我们这个啊,就是一个状态的问题。 好,什么叫做状态的问题呢?就是我们每一次做完一个重复的动作之后呢,他的这个状态包括方向啊,包括这个距离,距离这个能量块有几格啊等等,这些都是要保持一致的, 虽然他不是一模一样的啊,但是他的这个状态是一样的,什么意思呢?就比如说啊,刚开始的时候啊,这个大夫和飞船他们的方向啊,都是一致的, 他们的方向啊,都是朝着这个方向的,对吧?那么我们走完一次循环之后呢,我们也应该让他们俩的方向去保持一致, 这样的情况下我们就可以继续使用重复执行了,如果方向不能保持一致的话怎么办?那你使用重复执行是不是就会出现问题, 对吧?好,那么这个是这道题的状态,那还有其他的题目有其他不同的状态,这个都需要我们自己啊,去用心去发现这些能够使用重复执行的点在哪啊?好,所以呢,这个左转啊就不需要了, 那细心的同学让我们来走慢一点,我们一起看一下,注意看此时大夫啊,他的这个方向是不是朝这呢?对吧? 那一开始是朝这的,那走完四次之后,每次大夫的方向都会和这个正方形的边长是平行的啊,就顺着这个边长的方向好了,那么接下来呢,我们就可以使用重复执行了,一共有四次啊,那么就重复 四次。好,我们看一下效果。 ok, 第十关搞定。

我们来看第二关,那在第二关里面呢,我们会学到一个新的运算,叫做加法运算,当然这个加法运算和数学中的加法是一样的。我们都知道数学中的加号就是把加号两边的数值去给它加起来,得到一个新的结果, 比如说一加二,那么一加二整体的值就是三,那在程序里面也是这个作用,比如说 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 管控的是很像的,就是一二三 这样子变化规律的。好,所以呢,我最开始我就要把它复制为二。好啊,复制为一。好,那接下来还有一个变量来控制啊,冲向的,那我就 啊负值 b 为二,因为啊,绿色圈圈的嘛,他最开始是二的二四六啊,负责的是兔相的啊,二四六啊,二四六。好,负值结束之后呢,我们可以看到他其实也是一个 可以重复的东西,对吧?那可以重复执行的一个东西啊,每个直角就是一次重复啊,每个直角就是一次重复。好,那我们可以重复执行三次。 好,重复执行三次。好,那大最开始是朝向这边,那我就让他右转,右转完了之后呢?行走 a 户,因为 a 掌控的是横着这个方向的 好,到这里来之后呢他需要再右转再右转再行走啊,这次应该是行走逼步了啊,竖着的方向他应该是行走逼步好,行走逼步之后第一次循 完啊就结束了啊结束了是吗?啊?我们可以看到哈。 呃,他现在啊到这里他面面向的方向是在这个方向上。好,那如果说这样子写的话呢?下一次重复执行重新开始的时候, 好,他会让大夫右转,那让大夫右转的话呢?大夫会转到这个方向上来,那前面就没有路可以走了,对吧? 嗯,那我们直接运行来看一下吧。啊这样子是行不通的,那我们直接运行来看一下。你看每一次啊将 aa 每一次是 a 控制的是横向的啊, a 控制的是横向的,对吧?每一次 三加一好,然后 b 呢控制的是纵向的,就这个方向的好,二四六这个方向的他每一次增加。 呃嗯,那我们这些行走的步数啊啊增加的变化都是没有错的,我们来看一下,我们可以放慢放慢速度来看一下的。朝向问题 右转走两步右转,你看啊,最后呢?大夫啊,他是面向这个方向啊,他没有办法继续向前了,所以呢,我们这样子写啊,是不可以的,那要怎么样来修改呢? 好,那每一关中 deft 朝向它都是有它的含义在里面的,那它最开始就让 deft 朝 向这里,说明在这第一次循环结束之后,但也要朝向这里才能开始下一次循环啊,这一点啊,可以。嗯,在自己稍微理解一下啊。 好,那怎么样才能让他在这个时候啊?调子朝向是在这个方向上的呢?那我们可以什么呀?让代步倒着走呀。好,那倒着走,那我这里最开始就应该是 倒着走的话呢?这里最开始就应该是负二,然后这个是负四横着的方向倒着走,这个应该就是负六。好,最开始我就应该负直诶,为负二。好,那行走 b 步,那最开始就是行走负二步, 让他倒着走。好,那这里就应该是左转了,左转,然后再走好,然后负二,负四,负六,他是不是每一次增加负二呀? 嗯,好,那我们再来运行看一下啊,这次,这次可不可以啊?我们来运行看一下。 嗯,然后倒着走就可以了,那我们就三颗星的通关了。

我们来看第六关,第六关的地图非常的明显是阶梯型的重复执行, 题目中要求我们尽量的使用两个变量去完成,还有一个提示就是在复循环开始之前呢,可以加上一个命令,让我们一起分析一下地图的规律。如果用两个变量的话,那么就是一个变量表示 y 方向上的部署,另另外一个变量呢就表示 x 方向上的部署。 来,我们数一下,飞船是需要往前走,一二三四五,然后是一二三,然后一二一五三二一, 看上去好像并没有什么规律,对吧?那我们看一下 x 方向, x 方向首先是一,然后二三四。好,那么刚才提示的我们可以在 在负我循环之前加上一个命令,那我们是不是可以把五给它变成一,加上四呢?这样的话我们的思路就比较清晰了,我们设置完变量之后呢,先让飞船往前走一步, 接下来就是用重复直行来控制飞船的啊移动,首先这个飞船是要往前走的,然后呢飞船要进行转向,第一次是向右转,走完之后, 然后呢继续转,那第二次是要往左边去转向的,那这样的话就可以走一个阶梯型的路线,所以呢第一个空我们来填上,哎, 第二个空非常前进。 b, 我们运行一下看一下结果。 好,那么这里的代码我们多了四行,那么这个程序能不能进行优化呢?当然可以的,我们在讲 for 循环的时候说过这个 i in run 四,它是什么意思呢?它表示 i 在零,然后一二 三这四个数里面去发生变化,也就是说爱是从零变成一,再变成二,再变成三零一二三,刚好四个数,重复针四次, 也就是说这个负循环他本身自带的就有一个变量。哎,那这样的话,我们是不是就可以减少定义一些变量,对吧?刚才我们已经发现了这个规律啊,规律是四三二一, 这边有一个一啊,四三二一,然后是一二三四,那么一二三四 很容易啊,就是爱加一,因为爱是从零开始的,那么零加一就得到一,那下一次爱变成一,一加上一得到二,依次类推。那么四三二一能不能用爱去表示呢?当然也是可以的啊,可以用一个四减爱。 一开始二为零的时候,四减二是不是等于四?那么当二变成一的话,四减二就得到了三,当二变成二的话,就得到了二,以此类推。所以呢,我们可以把 ab 这两个变量都给他省略掉了。 好,然后呢,我们用 i 来表示,这个 a 就不要了, a 就变成四减 i, 那 b 呢? b 就变成 i 加一。好,这样的话这个 a 和 b 的变化也不需要了,这样的话,我们是不是就节省了四行程序啊?我们一起运行看一下效果。


学们,好,现在我们来看看第二十关的解题思路,那我们可以观察到第二十关的话,还是运用了两个重复,然后跟上一关一样,可以用两种方法去完成它,我们依旧是用重新给它复制一个变量去完成。首先是复制 a 为二, 先走这一段路线,重复了三次,大夫行走 a 步,大夫右转,大夫行走 a 步,大夫左转。 那到这里的话,大夫面向的方向是这一边啊,然后可以让飞船前进两步,飞船前进两步,那接着这一段路的话,我们可以直接让大夫后退回来,大夫 行走负五步,那接下来还有这两个零件没有收集,那需要走这一段路线, 那这一段路线是不需要走的啊,那这这两段路线的话,我们可以让大夫退着去取, 所以重新复制一个变量,复制 a 为负三,重复了两次, 然后接着是 def 左转, def 行走 a, 最后点击一下运行。 以上就是第二十关的解题思路。

大家好,我是辛巴,呃,现在我们来讲另外一个关卡啊,也是二级训练场的综合训练二 呃的第十五个关卡啊,中国训练二的第十五个关卡,呃,这关卡呢,实际上呃有很多方法可以过去啊,可以过去,你包括辛巴这边,呃就找到了两种方法 啊,首先我们得确定啊,我们这个路径啊,行走的路径是什么样子的啊?我相信这一关可能不止现在这个两种方法啊,可能还会有其他的方法。 好,那我辛巴就是根据辛巴的思路来跟大家讲啊,首先啊,看到第一种啊,是我们学员他自己写的一种方法,这种方法呢啊有他的啊,特点啊,有他的特点。是不是特别是在这块啊,特别是在这块有他的特点啊, 这块可以帮助我们省代码啊。首先我们确定路径是什么啊?啊?在辛巴看来啊,他的路径是这样子的,这么 然后这么走,然后走到这边啊,这么一个过程,所以呢,我们有个飞板就要动了啊 啊,我星爸可以最后确定的是什么呢?八号九号是往前挪两格,往前挪两格, 十号十一号是往前挪四个,一二三四一二三四挪到这边。好,然后呢这边啊,因为要填这两个,对吧?有他两个来填是 五号和四号,四号和五号是挪两个,也是挪两个。好,那八号九号、五号四号是挪两个,对吧?然后剩下的是填这一排,对吧?是填这一排,是由一二三 四啊,零一二三来舔,他们是分别挪四格。好,所以我们看到的是挪四格的有一二三四和他挪两格的有一二三四啊,然后这两个不动啊这两个不动 好前面啊这两排代码啊就分别是啊怎么挪的啊真的怎么挪的啊行吧啊不太建议啊这么他这么挪但是他这么挪了没问题啊没问题,我们看看啊看看他是怎么挪的这么一个过程 好没有问题对吧小人走走哎走哎这是他的特点啊这他的特点好然后呢辛巴来 来第二种方法第二种方法啊关起来 关起来打开。好啊我看我们这个里面用了什么呢用了我们这个叫什么他这个是用了什么啊这种方法我们叫做什么 啊。三木运算符啊三木运算符是一个衣服判断语句如果衣服判断啊衣服判断语句就是这块是衣服判断语句是吧衣服成立的话执行前面的啊返回前面的值衣服 日产力返回后面的纸啊返回 ls 后面的纸啊返回后面 ls 后面的纸。这个就是我们三木运算的这么一个特点啊。好辛巴这块呢也有这么一个类似的方法啊但是辛巴是怎么做呢好辛巴啊有几种方法啊路径 是一样的但是呢起码是这么想的首先不是这么写的啊哎首先是先运先运营一下吧先运营一下给大家看一下结果啊结果结果结果是什么 哎有的是跑两个有的跑四个是吧也能达到这种效果对不对?好啊辛巴的人就是咚咚咚咚咚这么走对吧他的人是咚然后退 啊过来转然后退然后呃过来转走走然后还是同一个方向转然后再 退哎他就是根据还是退还是进来判断的啊。来进那个判断好他他是好在这个地方然后呢辛巴是哎就转了啊就转了啊希望这个还可以再 缩短啊。再给你做缩短。嗯好那辛巴怎么做呢?好返回会圈啊。那告诉辛巴辛巴告诉你。辛巴首先是不是这么做的啊?首先不是这么做的首先我们是一个错循环 腹部循环。首先我们是要走啊要走两个的和四个的分别是几个 啊?两个四个的四个是走六个对吧两个的是四个是不是。那我们先用一个破循环是把什么零一二三四这种情况这个是不是很简单零二三四就直接是 flower 来,哎对吧来哎然后走走几步走四步对不对?一二三四对吧是走四步好走四步 然后呢还有什么还有什么五四五和八九是走两步四五和八九是走两步。那怎么办哈哈好,我们之前讲过一种方法的。啊啊我们之前讲过什么方法呢哎 来看一下我们用静态数组的方法。静态数组是怎么来静态数组来首先我是小括号里面是中括号对吧我们把列出来四五 八呀呀八哎呀呀怎么回事八九对吧他是做几步做两步是这样写吗?不是对四五八九我们得加个编号给他对吧?是每次他都是 对不对?好这样一来这样一来四八九是吧好还有两个十和十一对不对?我们再来个破循环 这次是二了对不对?十和十一十和十一怎么办啊。先把这次展示一个完整的思路给大家啊十和十一我们就分别来对不对?十 加 i 对不对? step 几啊说 step 四对吧。好这样一来你看我们这个代码啊行数啊超了啊运行一下这样是能过的啊。首先我们先这么简单一下解答一下对吧简单的解答一下 好是能过的对吧但是但是我发现啊行数多了 好我们要说行怎么说行这个就是一个关键了啊。那先把。哎就用一些我们之前用到的方法了啊 啊第一个数行数方法是什么呢哎我们可以借鉴他的啊把这个变成了三行对吧把它变成三行把它变成三行 那么可以在干什么 ctrl c 对吧。那我这边就是这个走法可以缩一行对吧。因为他的这个走法他三行我这个四行了对不对他这个可以简单一点对不对?好那我们就用他的这个啊好, 呃这个没拷贝好啊好来。 哎他这个也没拷贝好啊行吧我就这么拷贝吧。 好他变成三行了对不对然后他是什么 run 这是六对不对好他把这个也去掉了 再走边线六来看看。用它的方法啊用它的方法跑起来哎。哎不对不对 检查一下啊啊我们这个嗯好坑爹啊。 right 对吧它一直是向一个方向转啊最重要的是它一直是向右转最终 是我们有的是需要退两行有的是需要什么啊有的是需要什么有的是要前进两行对不对啊这个是关键啊这个是他的关键啊所以哎他这个做挺好的啊做挺好的我们要鼓励一下 哎这么是不是也解决问题了对不对是不是也解决问题了哎其实我们还有其他的方法可以解决啊。还能解决还能解决。怎么解决呢?辛巴是怎么解呢?辛巴不在这块花功夫对吧?不解决这块的问题。 好,我来返回啊。好,先把不解决这块的问题,先把解决这块的问题,把这边的代码再缩短。能不能缩短?哎,我告诉大家能缩短。怎么能缩? 那就是应用我们的这个三步运算啊,也是三步运算,也就是我们有的地方是走四步有的地方是走两步,对不对?那看新版怎么弄啊。 一共是几个洞有格子。呃几个要?要啊,几个飞板要跑。一共是十个飞板,你看这边是两个飞板,这边是上面四个,下面四个八个飞板是吧?好,一共是十个,我就这么分配一下啊。上面一行走五个,下面一行走五个,因为我们一行最多是几个 逗号几个逗号一行最多是五个逗号对不对?好,那这个怎么办啊?走四个的怎么办?嘿走四个的有办法哈。有什么办法?我们有三步运战服有什么呢? 衣服 i 小于四 i 小于四就是零一二三 是前四个是不是零二三对不对?那我们应该是用 i s x 用多少 x。 我们把十一给他把十一给他。啊。我们这种方法。那我们这边是什么? 零一二四零一二三和十一会走四步对不对啊?为十一会走四步,因为会他会这样。好,那我们这边怎么怎么办?我们这边再加一个加一个十把十加给他。十加给他之后啊 前面四个都对,是不是都是走两步?但是哎等于十的时候是第四,第五个是不是我能不能走二不能走二我得走几我得走几,我得走四,是不是这个地方就可以用什么三步云上 嘛,是不是 if i 小于四? else e l s e l 是多少?二十四嘛,对不对?哈?第五个,哎,就是 d d i 等于五的时候,是不是他等于十?十是不是小于四?这个时候他走几步?走四步啊?好, 这样的话,我们这个就这两个分别填到前面去了,一个给他了,一个给他了,是不是?哎,我们这样也能过去啊,看一看啊, 这个就是来教大家一些省代码的方法啊。省代码的方法,但是呢啊,实际上啊,在我们的编程应用当中这种方法用的很少,没有必要,我们没必要省什么代码行数啊,实际上我们经常在编程当中不需要代码行数的。 呃,简练,我们更需要是代码的清晰啊,所以这种考试的方法辛巴并不推荐啊,并不推荐啊,辛巴推推荐的是什么呢 啊?你尽量的把代码写清晰,对吧?然后你啊用最少的步数来完成我们的关卡,这是最好的啊。考验行数其实不太好啊,不太好。 呃,这叫引起技巧,是不是啊?引,引起技巧不太好啊?好,那啊,这个啊,先把就讲到这里,感谢大家。

第二十关,我们看一下这个地图,他其实是一个王字型的循环,那这个是他的运动轨迹,我们分析一下 这个能量块在大夫的左右两边,大夫的方向是炒到这边的,那他和这个能量块刚好是垂直的,这样我们可以先让大夫去转一下,这里呢大夫和飞船在同一个位置,我们点的时候要小心一点啊,不要点错了 啊,我们还有一种方法可以不让你点错,就是我们用手动去输入啊, 那转完之后呢?接下来就开始循环了,那一共有三行,所以呢这里是循环三次,对,我们前上一个三循环里边都做什么呢?首先是在一副的飞船啊,飞船往前走两步,一二我们点下飞船往前 先走两步,那接下来该大夫上场,我们已经让大夫转过来,所以这里可以直接让大夫往前走一二三四对不对?然后再往后退八步,退完之后他还是要回到飞船上的,然后剩下的重复就可以了, 我们一起做一下,大夫前进,然后大夫后退, 然后再敷,再回到飞船上,将就完成了一个重复的动作,我们一起看一下实现的效果。 好了这个就是第二十关。