嗯,上节课呢,我给大家讲了一下,就是早色多点早色的用法啊,这节课给大家就是说一下循环, 就比较常用的两个循环,一个是 fo 循环,一个是度循环。 嗯,同样呢,我们交流群是六三五七八七四零三,如果在学习过程中有什么疑问的话,可以去群里面,嗯,提问,然后或者直接艾特我,我看到后看到的话也会就是回回复你的。嗯 啊,接下来呢,我们就先讲一下这两个命令啊,就这两个循环命令,其实还有一个循环,就是弯循环那个 啊,用的不多,就是就是,我们就讲一下常用的这个吧。 来,首先我们就是把我们上节课学的那那些内容先屏蔽掉,我们单独先把循环讲一下啊。第一个我们先讲一下这个佛循环,佛循环他是什么意思呢?循环一定次数啊,我们看一下他有个参数啊, 参数的话就是后面加一个次数,就是我们加多少他就循环多少次,对不对? 然后我们举个例子吧,哎,我们在这里反正我们命令的话不用记那么全,只要记住前面两个就好了。然后按一下回车, 按下回车,我们看一下啊,他有一个,哎,使用方法看到没有一个 fo 循环次数, 循环次数,嗯,假如说我们循环五次吧,然后我们这这个时候只要按一下回车,他这个结尾就自动加上了, 非常的方便啊。然后我们上节课有说这个输出,就是脚本告诉我们的话,就我在运行, 对,我们调试输出看一下啊,哎,他说了几次呢?一二三四 五,他说了五次,我在运行,那为什么说了五次?因为我们让他循环了五次, 哎,假如说没有这个放循环,哎,我们把它屏蔽掉,如果我们要执行五次,就是让脚本跟我们说五句,我在运行,那怎么办呢?那只能复制粘贴,对不对? 哎?我们粘贴一个两次,三次,四次,五次,这样的话就比较麻烦了。 为什么麻烦呢?因为我们五次啊,虽然少,假如说我们要让他跟我们说五百次呢? 我们总不能复制五百次吧,对不对啊?这样的话他也可以一二三四五也是五次。 所以说这个比较麻烦的方法,我们就不要用它啊,就我们就用这个循环来让它啊自己运行, 这样我们只要啊打一行代码就可以了,对不对?要不然我们还要复制那么多次, 这个是次数循环啊。嗯,还有一个度循环,我们同样也按一下回车。哎,我们输出一下,我在运行 啊,加我们加一个言词吧,我就怕他卡住了,因为他这个循环是无限循环,他抑制 在循环的, 只要我们不停,他就一直在循环。那我们看一下, 你看我在运行,我在运行,我在运行。他一直在一直在运行,一直在运行。只要我们不按这个啊,停止不按这个暂停啊,终止,他就一直在循环,一直在循环, 直到天荒地老,海枯石烂。他啊,这里我们看一下,你看他有这么多,直到我们按了停止,他才停下来 度循环呢,你看呢?他说了无限循环啊,也可以是有限循 循环,那为什么说也可以可以是有限循环呢?就我们给他加一个条件,让让他跳出这个循环啊,比如说我们在这里啊, 看到没有?这个, 这个意思是退出啊,就是我们要退出,呃,各种东西啊,就首先要打这个看看,第一个他是退出度循环, 然后第二个呢是退出 fo 循环,就是说假如说这个次数没有到就,嗯,然后或者条件成立了,我们就让他退出这个循环,就不让他再继续执行下去了, 那我们选择第一个退出度循环,那 他现在的话,假如说,哎,执行到这里第一次,然后到这里直接就退出来了,那他这个循环还有用吗?那肯定是没有用的了,对不对?我们调试一下, 哎,他只运行了一次就退出来了,对不对?他只需运行了一次,那他这个退出循环的代码呢?他就是前面的东西啊,都可以运行, 他后面的东西他就不运行了。那比如说我们加一个东西啊,加一二啊,就几个啊,就几个一,好了,我们看一下啊, 哎,他只有前面的运行了,后面的没有运行,对不对?假如说我们把这个 就是我们这个,他不是,不是,我们输入代码有个光标一闪一闪的吗?这个假如没有的话就消失了,他可能卡住了,我们按一下普通再点回来,点到原文件这里他就有了 啊。我们把这个退出循环拉到最底下,然后我我们看一下他这个运不运行,那我们调试一下, 哎,他运行了,对不对?他运行了,他运行完这个再退出度循环, 所以说呢,嗯,这个我们可以加一个条件啊。上回我们有简单的说一下,我们变量要定义,假如说我们弄一个变量叫什么呢? 叫 就叫爱吧。嗯,我们用英,用中文好了。啊, 数字,哎,我们定义一个变量叫数字,那我们让这个变量等于多少呢?数字等于零,就我们先让他等于零,然后这个数字他就等,他就是零,他代表的就是这个零。 um。 对,我们在这里加一个条件啊,就是如果啊,上货,我我们也说过啊,这个 如果,如果条件成立,那我们加一个什么条件呢?数字大于五折 执行什么呢?执行我们退出这个循环的代码,就如果数字大于五,我们就退出这个循环,对不对?那他这个数字现在是多少?他数字 这个变量的话,我们是可以输出的,直接输出就是输出后面直接打这个变量名,数字看到没有?直接这样输出, 我们后边先不动啊, 看到没有?他输出的这个变量 数字,这个变量他就等于零,因为因为我们让他等于零了,对不对?他数字等于零了,然后我们输出这个数字,他这个数字他就是零。嗯,我们在这个循环里面呢, 我们加一个数字等于数字。 加一这句话是什么意思啊?就是他每运运行一次,哎,他从这里运行一次,然后到这里他这个数字在他自己本身的情况下再加上一, 哎,他第一次是零,对不对?数字他是个零,然后让他等于零,加上一,那这个数字等于 多少了?那肯肯定是一了,对不对?我们先输出一下 数字,然后我们把这个判断放到这个输出的后面,这样方便我们 预览啊,就是我们输出这个数字等于多少,然后他这里再判断一下,然后我们看一下啊, 哎,他停了, 看到没有?他第一次啊,他这个数字是零,然后他第一次运行,我在运行,然后到这里数字零 等于零,加一,那数字就变成了一,他输出的是一,对不对?他现在我们判断一下,如数字是不是大于五呢?啊?因为他数字是一, 他不大于五,他就不退出,然后所以说呢,他又从头运行到这里,又从头运行,然后他数字就等于多少了,一等于一加一, 一加一等于多少等于二,然后他自身就变成了二,二也不大于五,然后一直加,一直加,然后加到加到六, 看到没有?这里第五次的话等于五,加一等于六,数字等于六了, 然后这里他就条件成立了,对不对?数字大于五了,大于五了,他就退出循环,然后我们就退出来了,他这个就不再是无限循环了,因为我们给他加了一个条件, 这是退出循环的度,循环,退出循环的方法啊,就我们给他加一个条件啊,条件成立了,我们就退出循环。 那腹部循环呢? 放循环。假如说我们放循环,我们运行 多少次呢?啊?我们直接在这里啊,把它拖过来, 取消这个注视啊。我们假如说我们运行九百九十九次, 然后我们这里也加一个条件啊,数字等于数,数字等于数字加一,我们也加一个条件,假如说什么呢? 如果数字等于五,就让他退出。退出什么?退出?我们这个是负循环,对不对? 如果我们不加这个条件,他肯定是要运行九百九十九次的,对不对?现在我们加了这个条件了,当他等于五的时候 就退出这个循环啊?我们调试一下,看一下啊,看到没有?一二三四五他只运行了五次,他就退出来了。哎,这个是负循环提前退出的 啊,一样跟度循环是一样的,就是我们也是加一个条件,条件成立我们就退出,对不对?这是退出循环的方法, 两个,一个多循环,一个否循环。 那怎么把这个循环就是结合到我们上一次讲的这个?我们找那个滑动,哎,我们滑了 来是划一次对不对?划一次找不到,那怎么再给他再划一次呢?所以说我们现在就用到这个复循环了,来,我们到这啊,这个是我们之前的代码,我们怎么加呢? 我们现在不用次数了,因为我们条件是什么?哎,找到了并点进去了 再退出循环,我们可以用 fall, 也可以用度,对不对? fall 的话我们 给他加一个九次 回车,然后我们。
粉丝3358获赞7378

大家好,我是延己,那今天呢给大家去讲一下按键精灵电脑版游戏脚本循环结构,新手入门 啊。那今天举个很简单的例子,那比如说你现在想打五只野怪啊,打完这个五只野怪以后,你就退出这个循环,那怎么写呢?首先我们要去定义一个变量,就是啊野怪打野怪 次数啊,我们初使呢,给他一个零,因为我们现在还没打呢,对吧?那就给他一个零。好,然后我们用到一个度循环,打一个度,然后接个回车, 然后我们往下再去补全一个 l o p, 就是 do loop 循环,那这个循环呢?它就是一个死循环,那我们在这里可以去加一个呃,输出来看一下它的一个效果。那在调试之前呢,建议大家在这里呢加一百毫秒的延时, 如果你不加这一百毫秒的延时的话啊,电脑很有可能你再点击调试的时候,这里就会一直的输出,运行中电脑就会卡, 那这个卡呢?跟你的电脑配置没有关系啊,只是因为这个程序有 bug, 你 没有加这个延时。好, 然后我们现在想打完这个十二只野怪以后,就打十二次这个野怪以后让他退出这个循环,那退出循环用什么命令啊?用这个命令打个 e 叉,在这里找到 exit d o, 这个呢是用于退出度循环。 好,然后我们看一下怎么写,那这里我们去用一个判断 if, 那 如果你在之前的教程当中呢?你有看到我的判断教程,那你就会了。那如果说你还不懂这个这个 if 呢,就是如果的意思, 如果这个打怪次数它等于五的时候,干嘛?我们就把这个跳出的这个代码给它加进去。 好,那我们现在可以知道,我们先调试一下,我们现在可以知道我们的打怪次数呢,是等于零,对吧? 它等于零的话,也就是说意味着这个打怪次数零等于五,它永远不会成立,那我们怎么样能让它等于五呢?那是不是我们每打一次野怪就要在这个野怪的基础上去加一啊?那应该怎么写呢?那就是打怪次数等于打怪次数加一, 这样的话他就每次在他的基础上加一,然后我们把这个输出给他改一下打怪次数等于。 好啊,我们现在来调试启动一下,我们让他打十二只野怪,然后我们跳出完以后在这里输出一下, 打了十二次也怪完成。好,我们来调试启动一下, 那他在打第十二次野怪的话,他就是完成了,对吧?啊?那我这里教大家呢,是一个简单的一个结构,那你在实际你应用当中呢?你这个野怪并不是说你打了以后这个野怪他就死亡了,你还要判断他啊,有没有打死他,对吧? 那你怎么去判断有没有打死他呢?那这里的话就给大家去讲一下这个野怪 判断的这个野怪的血条,对吧?那血条呢?一般就是红色,那你判断如果说他是黑色呀,或者他不等于红色,那就是说明他没有怪了,对吧?攻击不了了,那你就可以换下一只野怪打, 那正常呢,我们一些游戏的话,直接啊 tab 键就可以选怪,那要没有这个键的话,那你就可以通过找图啊,找字啊都可以, 然后这个就是本集的一个内容,感谢大家观看。我是延己,感谢大家关注。


大家好,我是天峰,今天我讲案件建立基础知识。第七小节循环语句,循环语句的话,顾名思义就是可以根据你的需求去循环的执行一段命令, 可以无限的去循环,也可以执行啊,相应的次数,循环指定的次数啊,首先第一个负循环,他就是执行指定的次数 啊,他是以那个 nice 作为结尾,然后以这个意思货作为中指符号,只要出现这个意思货的话,他就可以无条件的去终止这个货循环。 好,他意思就是说按照指定的次数去执行这个命令。好,我们看一下的格式,首先是个放,然后加上个 n, n 的话就 是要执行的次数,然后这个 nice 作为结尾啊,他的运用场景就是说避免出现错误啊,重复的去执行某段操作啊, 比如说我们进图的时候,为了避免进不了图,我们就给他执行五次啊,如果五次都执行都进不了图的话,说明等级不够,或者你没有门票,这样子我们就可以终止他,跳到下一个命令了,给他五次机会啊, 五次都不行的话就结束掉吧。啊,就是这个意思,这个就是实验运用场景。 好,我们看一下格式 four, 然后加个 mm, 这个 n 就是次数,第二行的话就是要执行的命令,然后已经 这个 nice 座位结尾。我们举个例子,好,执行五次啊,你在这个五后面加个回车,他会自动写那个 nice 下去的,然后输出一段话吧。 啊?看下要输出什么啊?今天七月了,中秋节就快来了, 我就说出这段话,然后每次循环都是间隔一秒钟, 你看一二三四五,执行五次就结束。好,你你要循环的时候最好给他加上个时间间隔,要不然你很快的去执行的话,你那个手机的性能不过关的话 会卡住了。所以循环的话我都建议给他个延迟一个等待的时间。 我们接着讲暴循环的第二种形式, for, 加个变量,加个等号,等号后面是初始值,然后是 to, to 后面是结束值,然后给那个 step, 然后后面加个不长, 然后他是以那个 nice 作为结尾,以一个以这个 s for 作为终止符号。他的意思就是说从这个起点到终点,这么的一段长度,这么一段路程,他每步走多少米, 他要走多少步,就是要执行的次数。比如说从从零米到十米这件事 总共有十米,他每一步的话走一米,他总共要走十步,就要执行循环十次,就是这个意思,他主要运用到那个精确滑动或者自动技能,精确滑动话等会会讲,然后自动技能话是以后课程才会学的到的。 我们看下格式放,然后给这个变量,然后等号,这里是起点,然后这里是兔, 然后这里是终点,然后给他个 step, 这都是固定的,后面的话就是不长,就是每走一步的距离啊,走一步的长度啊,这里面的就是循环的词,循环的内容 后面以这个 nice 作为结尾,我们举个例子吧。好,这里话你输入这个 va 啊,他默认你就是变量,不用去声明的, 从一到十总共十个数字, 你每一次的话走十步吧,每一次的话走一米,那你总共就是执行十次 啊,我给他一个循环吧啊,这样子的话就是循环十次了啊, 从一到十,总共十个数字,每次的话数一个数字,总共数十次,就是十只行 十次,调试 五六七八九十,十一结束,我们给他改一下吧。 啊,调试, 你看总共十个数字,每次读两个数字,总共要读五次才能走,才能读完十个数啊,就是要循环五次了。 好,我们接着看下面的内,好,我们接着看 for 循环的第三种形式, for 一尺,然后加个变量, 这个硬,然后后面跟的话是数组的名字啊,这种用法的话主要运用到那个便利数组啊。啊,这数组的话后面才会学的啊,当我们学到那个数组后,我们才会讲这种这段内容吧, 这个先放在这里,但是你们要记住后循环是有这种形式的吧。啊,后循环讲完之后,我们接着讲 第二个循环语句,度循环度,循环的话与这个以这个骆驼作为结尾,以这个意思度作为终止符号,只要出现这个意思度,就可以无条件的结束这个度循环。 好,这个度循环的话有两种形式,一种是前侧型,一种是后侧型。啊,我们先讲前侧型,前侧型又分为两 种,一种是以这个 nq 啊的形式,一种是以这个 y 的形式,我们先讲这个 nq 形式吧,前侧显得 nq 形式, 他的意思就说啊,这个循环在这里不停的去执行,直到某个条件被出发成立的时候,就结束这个循环啊,这个 nq 的英文意思就是说直到 啊,啊,连起的话,就是这里的话不停去直,不停的去循环,直到这个条件成立就结束这个度循环啊,我们举个例子吧 啊?这是个读书的啊,首先我给他一个声明变量, 给他一个初始值为零啊,然后是个度循环,度循环这里给他一个 nq, 他的意思就说你在这里不停不停的去读书,直到这个读数等于十的时候,你就结束这个度循环, 这个就是 nq 的用法,浅色形,我们调试一遍吧。 啊?一直读,大师 啊,独到时候就结束了啊,这种是度循环前侧型的 ntq 写法。度循环前侧型还有另外一种写法叫做外写法啊,就是这种 啊啊,度循环,然后给他个条件,当这个条件成立的时候才去执行这个循环啊啊?要怎么去实现呢?这个话有点难理解啊。我给他 这里给他一个度循环,然后给他一个外,后面给他一个处啊,因为这个处的话 他就是条件为真,他那个处肯定是为真的,只要这个成立,这个处成立,他就去执行这个乱命令啊,因为这个处不,不管什么时候他肯定是为真 啊,所以的话他就会一直的去执行,不会去停止 考试啊啊,他都会说出这段话,他不会停止的,因为这个条件始终成立的,这个处肯定是处了 好。度循环他前侧型说完之后我们再讲他的后侧型, 后侧型的话就是说他在后面加条件,他不在前面去判断,他是在后面加条件,也就是说先让这个循环去执行一次啊,直到这个条件成立的时候就会结束这个命令。 好,他跟上面这个这个又有点不同,他是先去执行一次再去判断上面的话就是先判断,先去 判断再去执行啊。啊,我们给也是用这个读秒了 啊,这段这段代码的意思就是说,你在这里不停的去读数,直到这个读数等于五,你就结束这个度循环啊,这个判断条件放在后面了,放在这里了啊,他就不会放在这里,很调试, 一二三四五,读到五就结束,就是这段话的意思, 然后这个度循环。呃后侧型,如果有这个 nq 的话肯定有这个外,这个外的话也是一样,先执行一次 是循环,如果这个条件成立的话就执行,继续的去执行循环,如果条件不成立的话就停止循环啊啊,这个外的意思我刚才忘了说,就是当的意思, 当这个条件能成立的话,就继续的去执行这个循循环,直到这个条件不成立为止。 还是这个读秒啊,当这个读数小于十的时候,你就在这里不停的读,当这个读数大于等于零了,你就停止这个循环。看, 当这个毒素小于十的时候,他会 会去不停的去循环的,直到这个毒素等于十或大于十啊。 讲了这么多,可能大家听得有点复杂,其实在实际的运用场景时候,我们不会 呃考虑什么前侧型或或者后侧型,因为这样子写的话太过于繁琐了,太过于呃复杂。我们就简单一点,一般的话我是这样子写的, 如果这个条件成立的话,我们就结束这个度循环,我一般是这样子写的,你们也可以学的下,这样子写的话就简洁民聊一点,通俗易懂 啊。这个度循环,度循环,讲完之后就是讲这个外循环啊,循环有三种,一种是负循环、度循环,还有这个外循环,这个外循环的话一般很少用 啊,我们也讲一下吧。外循环他以这个 wn 作为结尾,这个 w 话就代表这个 y 啊啊,然后以这个 sy 啊作为结尾。他的意思就是说判断条件,若条件成立,则执行循环,反之则结束这个循环。 他格式就是你给他个万,以后给个条件,如果这个条件成立,就及时就执行这个命令。循环这个命令 啊,我们还是以这个读书作为例子吧,当这个读数小于五的时候,你就去执行这段循环命令,当你这个读数啊,等于五的时候,大于五的时候就结束这个外循环。 你看当这个读数等于小于五的时候,就读不停的读数啊,当这个读数大于等于五的时候,就结束这个循环啊,这节课就讲到这里吧。

你们好,今天我们讲一下案件性灵的循环,就是说写循环的时候一定不要写死循环,这样会导致你的脚本在一个地方一直卡着不动,一直在无限循环的一个地方。 我们今天就做一个这个文档,如果说在这里的话就点击他,如果说这个文档不在这里的话,就等待他出现,然后点击他,等他出现的时候再点击他。 上衣也是这,然后用爪爪, 我们选择区域他会在哪出现,他会在左上角出现,对吧?我们看看能不能找到结果。二杠六,就是说能找到。 首先我们做一个测试,也就是说如果说他出现在左上角的话,提示找到了,如果说不在左上角的话, 体质没找到, 然后否则的话 e l s t r a。 我们测试一下 他现在在左上角,我们提示找到了,对吧?这里提示找到了,我们再试一下还是找到了,如果说把它拿走的话,就是说没找到,对吧? 没找到我再给他拿回来,找到了,如果说加上循环的话是什么样的效果?我们把它放到循环里,就说这个循环的话是 do 是循环开始, lop 是循环结束, 以 do 开头到 iop 结尾的中间内容,也是我们循环的内容,我们尝试一下是什么样的效果, 他会无限提示找到了,如果说这时候我们把它拿走的话,他就会提示没找到,对吧?一直在这无限找,但是他一直在这找,我想做一个东西就是说,嗯,他出现的时候点一下就好,找到了,一找到一次就好,然后结束这个命令, 这时候我们需要一个命令叫跳出循环,找到了之后怎么办?找到了之后就不循环了。 ex i t d o 也就是跳出循环。备注一下,跳出跳出循环,这个时候我们试一下是什么样的效果。 点击启动找到了,如果说我们把它拿走的话,点击启动没找到对不对?没找到,然后给他放过去,找到了脚本就停止了,然后我们就可以进行下一个步骤了,对吧? 好了,今天视频到此结束,有什么不懂的可以私底下问一下我。 从循环开始到循环结束的命令已经运行完了,接下来我们就可以运行其他的命令,找到一个图片以后,然后再运行下一个命令。

我们上一次讲了找色,那我们今天来讲了讲找图啊找图,我们把这些代码都删掉啊,然后直接插入找图命令, 我们可以发现啊,找图的命令和找色的命令,他们的格式还是非常雷同,看见没有?还是非常雷同,他还是一样啊,在某个区域去找我们的指定的图片, 注意看这个图片的格式啊,前面有一个啊,固定的单词,后面是一个冒号加一个斜杠,然后呢加上我们的图片名啊,最后的格式是 bmp, 然后后面是一个相似度,之前我们讲 相似度最高是一对吧?好,然后呢,越低相似度越低,我们的误差呢就越大。最后呢,把我们找到了图片坐标, 把它复制给啊,把它复制给我们的变量, int x 和 int y 它还是一样啊,它帮我们省略了声明这个变量的这个步骤,但是我们可以自己声明,对吧?我们可以自己声明, 当然你不声明也没有问题啊,我这里声明一下了,还是方便你们理解啊, 我们写个注释吧, 我们来看啊,我们怎么去理解这个格式啊?他这个格式的意思是我们要在附件里面啊,我们要在附件里面把我们的图片给添加进去。我们这里还是要利用一下我们的抓抓工具啊,用一下我们的抓抓, 然后我们在网页这一边按一下截图键,那我们可以框选框,选任意一个区域,在框选完毕以后呢, 他可以看到一个菜单,对吧?有一个未图令重围,我们可以把它重温一下,比如说我们把它取个名字啊,随便取一个吧,叫一,你看 还可以选择一个格式,他默认就是二十四位位图。好,我们点保存,然后呢我们在附件里面点添加,我们选择这张图片, 然后呢我们在这里把我们的文件名改为一,和我们的这里的文件名要对应, 明白吧?最后我们做个测试啊,我们把鼠标把它移动到我们的 这个坐标点,我们可以看到啊,我们的图片是这个,对吧?灵感加速 驶向未来,那我们这个界面有没有?没有?那我们现在启动程序他是找不到的,我们一定要等我们的这个图片他轮换到这里来,那我们才可以找到,对吧? 但是我们的代码呢?他只会在我们的程序启动的时候找一次,假如说我们程序启动的时候,我们的这个图片他没有显示的话, 那我们的代码他就找不到,我们可以写个 s 啊, if 这里 if int x 大于零 and int y 大于零这句话的意思表明,我们找到了图片,因为它的 x y 原本是没有值的, 我们永远没有复制,只有当他被找到以后,他们才会被复制,他们被复制以后呢,他们就不会等于零了。所以说呢,我们在上面呢 可以写一个提示啊,找到了下面我们可以写个提示啊,没有找到。 你看在没有这张图片的时候呢,我们启动他肯定是提示没有找到,对吧?当我们去 把它换到我们的图片上面的时候呢,你看我们切到这里来,我们再跑, 你看他就会提示找到了。就是我们有的时候会有这样一种应用需求,就是我并不知道这个图他什么时候会出现,比如说这个界面,对吧?他的图片轮换什么时候可以轮换到这张图啊? 这个我们是无法确定的,对吧?你也不知道是一秒钟之后还是十秒钟之后。那我们可以一直去监测啊,用一个循环来不断的去监测他,比如说我们这样写, 还记不记得以前我们学过一个 rim 标签,对吧?标签循环, 好,我刚才完善了一下代码,我在这里写了 标签 rim 标签循环。我们之前学习循环的时候啊,无限循环的时候学习过这个标签循环,他的意思就是说我们用一个沟通语句,可以随时返回到这个代码,返回到这行代码从第五行开始重新执行。 那么我们整个代码的逻辑就是什么呢?我们去不断的找这个图片,一直找一直找, 找到了我们就弹出一个对话框,告诉我们找到了,找不到了,找不到,我返回这个循环这里继续找。 也就是说这个图片我们会在一个无限循环里面不停的去找,一直到我们找到为止。找到以后这个循环还会不会继续啊?找到以后我们这个循环呢?他就不会继续了啊,这个程序会往后面执行, 会指定第十三行啊,提示我们图片已找到啊,程序继续执行,循环已跳出啊,到这里的时候循环就跳出了。 那为了避免我们的程序找出的频率过高啊,我们最后还是给他加一个 delay 延迟,尤其像这种无限循环了。无限循环我们还是最好给他加一个延迟参数比较好, 这样以免对我们的 cpu 造成过高的负债啊, 你可以写的短一点十毫秒啊,那也总比不写强啊, 我们写在这个循环标签的 go to 之前,也就是说我们每次找图会间隔十毫秒,如果找不到,我们在十毫秒之后呢,会继续找整个代码,就是这个意思啊,我们点一下调试, 然后去看我们的浏览器,刚才不小心关掉了,这样酷, 好,我们现在就可以启动了啊,我已经启动来看见没有,我们的图片切过来的时候呢,他就提示我们找到了,对吧?那图片一找到程序继续执行循环与跳出,对不对?你看这个时候,我们下次 图片滚过来的时候,我们还会不会去找啊?我们就不会了,你看我们手动去点一下啊, 你看还有没有提示?没有了,因为这个时候我们循环已经跳出了,他只找一次,对吧?在他找到图片以前,他是不会放弃去找的,他会一直找,在他找到图片以后呢,他就不找了啊,对吧?他就不找了,循环也跳出。 所以当我们去找一个比较固定的图片,比如说上面的菜单,他们的位置是比较固定的,而且一般来说不会发生变化。 那我们可以直接去啊,直接去写一行代码就可以去找了,像这样直接写一行就可以了,对吧?你也不用加入循环,那如果说这个图片他是会产生变化的, 他不一定什么时候会出现在我们的屏幕上,那我们就可以用什么思路啊,就可以用循环啊,用循环的思路来去找这个图,找不到就不停止。 那在这里呢,我们就还额外说一点延伸的内容啊,延伸的内容,你们就是需要了解一下就可以了啊,不需要特别去理解, 这是我们找图的底层原理,他其实还是找色。我们一张图片他是由什么东西组成啊?他还是由一个一个像素组成的,对吧?每一个像素点就有一个颜色,那么我们一个图片它本质上就是若干个 颜色点的排列组合,这句话不知道你们能不能理解啊?比如说我们放大一张图片, 我们可以看到啊,它是有很多一个一个小的方格,对不对?你看一个一个小的方格,我们这个时候用抓抓,抓一下啊, 我们看一下桌窗。好,你看我们把鼠标移动到我们的这个有渐变颜色的黑色这一块啊,你看这一块,我们屏幕上面可以看到,对不对? 从左到右,你看我们的颜色值,他有一个渐变,对不对? 好,你看我取了两个颜色,一个五九二四五八啊,一个五九三四五八,他们的颜色就是不一样的,对不对?那其实呢,如果说我们早涂的 逻辑是什么?他就是先判断你第一个点的颜色啊,是不是这个颜色,如果是的话,他再判断第二个点的颜色是不是这个颜色啊?如果是的话,他依次类推,继续往后找, 只要我们所有的颜色排列和我们的图片的颜色排列吻合,那我们这个图片就算是啊,找到了,他是这样一个逻辑,所以说找图的底层逻辑,他其实还是找色啊,能不能理解? 好,那我们来看这样一个游戏截图啊,这是一个啊,游戏的背包界面。假如说啊,我想要一次性把我所有这些血瓶呢,把它给依次点击一下, 像这样依次点击一下,我们可以用程序怎么去写了,当然这是只是一张截图啊,这个只是一张截图,所以我们去点他没有任何效果,但是你们可以看到我的鼠标移动轨迹啊,你们可以看到,对吧? 我这个是我手点的,这个是我手点的,我们如果想用程序实验这个效果,把我们这些所有血评依次全部点一遍,怎么去写?我们可以这么去写,首先我们肯定还是要截图 好,截完图以后呢,我们返回抓抓,然后我们把这个血瓶呢框选一下,框选一下啊, 好像这样框选一下,然后位图定成为,我们给它取个名字吧, 叫血瓶。然后呢我们可以考虑一个因素啊,就是我们的血瓶他通常会出现在哪个区域,比如说我们这个截图吧,他通常来说只会出现在这个区域,对不对? 所以说我们去找这个水平的时候,我们有没有必要去全屏去找啊?啊?没有必要啊,没有必要,因为你要找的区域越大, 你的运算效率就越低。所以说我们去找图的时候啊,我们可以尽量的缩小我们的找图范围, 把我们的范围缩小在一个啊,尽可能小的范围内,我们的效率呢就可以更高。所以说我们最好去取一下这两个点的坐标啊,一个是这个点,一个是这个点,然后这个区域范围呢, 我们就可以提高我们的效率,所以我们去看抓抓,在我们的抓抓里面呢,我们把鼠标移动到我们找图区域的左上角,然后我们按一下 ctrl 加一好取一个点,然后再把我们鼠标移动到我们找图区域的右下角, 再按下 ctrl 加按,你看这样我们就取了两个点,对不对?我们把两个点贴过来, 这是第一个点,这是第二个点,那我们就是要在这个范围内去找我们的什么血评, 好,我们可以去仔细一下看看啊 啊,你看他提示找到了,对吧?那没有问题,这说明我们的脚本啊,这个图片他的质量是可以的。那么我们怎么样才能实现依次点击呢?把他们全部点一遍,我们可以去设计这样一个算法啊, 在我们去找到第一个水平之后呢,我们把它的 x 坐标给记录下来,给记录下来,然后我们去找第二个水平的时候呢, 我们去加上啊,我们把找出的范围啊,从第一个水平的 x 开始,加上一个第一个水平的宽度, 加上第一个水平的宽度,这样呢我们就可以从第二个水平的坐标开始找我们,这样呢就可以去忽略掉第一个水平。 所以呢,我们在这里还需要去计算一下我们每个血瓶的宽度,我们可以怎么计算?我们可以用抓抓,我们获取一个血瓶单元格的两个坐标点右边一个点 右下角吧,我们获取他的右下角这个点,取三。好,然后呢获取他左上角的点 取四,我们可以用右下角这个点的 act 坐标啊,减去我们左上角这个点的 act 坐标,这样呢就可以得到啊,得到它的这个宽度啊,得到我们这个血平的宽度, 所以我们在这里呢可以声明一个变量啊,叫雪平的宽度, 那我们顺便就把高度啊,也获取一下,宽度等于多少, 你看这是它第一个点,这是我们取的第二个点,那它的框就是用这个数啊,减去这个数,那高度呢? 就等于五七九,减去五四零啊,这样呢,我们就可以得到一个单元格啊,一个血平单元格的宽度和高度。 那为了我们后面的计算方便啊,我们最好啊,还是要把我们的这个找 图的范围啊,把那个变量化声明一下,我们可以这么写啊,找图范围 x 一 y 一。那这个就是我们找图放我的左上角坐标啊,左上角坐标 x 一个 y 一,然后我们再写一个 x r 和 y。 啊,那这个呢,就是我们找图放我的右下角坐标,我们可以标注一下左上角。 那我们 x 一等于几?等于幺幺九四, y 一等于五二零, x 二等于幺六五三, y 二等于 七七四。那这样呢,我们就可以把后面的这些数据啊,把它用变量给代替过来,这样做的目的是为了方便我们后面计算, 那为了我们后面的计算方便呢,我们最好啊,还是要把我们的这个早读的范围啊,把它给变量化,声明一下, 我们可以这么写啊,找图范围 x 一 y 一。那这个就是我们找图范围的左上角坐标啊,左上角坐标 x 一和 y 一。然后我们再写一个 x r 和 y r, 那这个呢, 就是我们找出范围的右下角坐标,我们可以标注一下左上角。 那我们 x 一等于几?等于幺幺九四, y 等于五二零, x 二等于幺六五三, y 二等于七七四,那这样呢,我们就可以把后面的这些数据啊,把它用变量给代替过来, 这样做的目的是为了方便我们后面计算。 然后呢我们把我们的鼠标找到 以后啊,去移动到我们的这个坐标点,并且我们给他加一个偏移量,他有一个时的偏移量,这样做的目的是让我们的鼠标移动到尽可能靠中间的,靠这个雪冰中间的位置,这样我们看起来就更加明细啊,就更加清楚, 然后我们可以给他一个啊延迟,这个延迟是可以稍微大一点点,然后呢我们去点一下我们的鼠标左键。 好,那如果顺利的话啊,我们的这个程序目前他就会去找这个血瓶, 找到以后呢,我们的鼠标会移过去,然后点一下鼠标左键,因为这个雪屏它的这个图片质量啊,其实还是 有点堪忧啊,而且有点小啊,所以说我们把它的精确度啊,最好改的不要那么高,改到零点八五试试看吧。好,然后我们再启动程序啊,看见没有啊?我们的鼠标是不是 就移过去了,对不对啊?瞬间移过去了,我们可以再试一次啊,大家看见没有啊?很顺利对不对? 好,但是我们没有达到目的啊,他只动了一次,我们,我们的目的是什么?我们的目的是想让我们的鼠标把我们的每个水平都点一遍,对不对?所以说我们找到第一个水平以后呢,我们要去修改我们的查找范围, 我们可以把我们的查找范围加上,加上我们的 一个血瓶的宽度啊,加上我们血瓶的一个宽度,然后呢我们再 go to 我们的标签循环啊,这样呢,我们第二次去找他的时候啊,我们的鼠标他就会 移动到下一个血频,我们可以试试看啊,有没有效果?我们这个弹出来了, ok, 这个能不能不谈呢? 这样就可以了。 好,我们可以发现啊,刚才我们的程序他点了两个血频,但是他没有往后去点, 点第三个,对吧?那我们如果想要我们的鼠标继续往后面点到这第三个瓶子,第四个瓶子,那我们应该怎么办?我们可以设计这样一种算法啊,让我们的这个查找血瓶的 x 递增,递增,一直往后递增, 当它递增到一个临界点的时候,当它递增到一个临界点的时候,我们就让它返回到初始数据, 然后返回到初值数据,他以前初值数据是多少啊?是这个数据是幺幺九四,对吧? 那我们返回初始数据以后呢?让我们的外坐标啊,递增一个单元个高度啊,递增一个水平单元个高度,这样呢,我们就可以从第二行开始去查, 能不能明白,好,我们可以去试试看怎么去写啊?那我们可以粗略的推算一下啊,我们要找这个血拼,我们要找一排的话啊,我们最多需要递增几次啊? 你看他的单元格有几个?一个,两个,三个,四个,五个,六个,七个,八个、九个,那我们递增十次怎么都够了,对吧?我们最多递增十次,他怎么都可以把这一条找完,所以说我们可以怎么样?我们可以写个负循环, 那我们就把这个标签循环啊给删掉啊,我们用个负循环来写 十四,对不对啊?我们是不是找十四,然后 next, 那么这里还是生命的变量啊,循环次数 啊,选完十四就找这个图,我们每找到一次呢,我们的找出范围呢,他就会递增一个血平的宽度啊,那我们的十四找完以后呢,我们的范围怎么样?我们的范围起点 要等于我们的原始数据啊,那这里我们的我们的原始数据啊, 最好还是给他负一个值啊,这生命的变量给他负一个值,像这样写等于原始气垫 x 啊,也是七零 x, 然后呢,我们的角度范围 y 啊,等于多少?等于我们的 y 坐标的原始起点 是五二零啊,五二零加上加上我们一个血瓶的高度, 像这样写,也就是说呢,当我们找完一排图片以后啊,我们的找图范围的起点会回到我们的原点啊,我们找图起点呢? x 坐标,或回到我们的原点 x 坐标。那我们找图器里面的外坐标呢?或回到我们原点啊外坐标,然后加上加上一个血平的高度, 然后我们加上这个高。对,以后呢,我们怎么样?我们再来一遍啊,我们再来一遍,他这样呢,就会去找第二排,我们可以试试看啊,能不能实现我们的目的啊,先找第一排,然后再找第二排, 哎,看见没有,很成功,对吧?好,刚才我发现一个问题啊,就是我们去找水平的时候啊,找第一排的时候很顺利,找第二排的时候也很顺利,但是找第三排的时候啊,就不顺利了。原因在哪里呢?原因在我们的原始坐标 点大概是这个位置啊,我们找到第一瓶水瓶的时候啊,我们要把我们的原始坐标点呢定位到我们的第一个水瓶这里来,这样才可以,要不然的话我们的啊外坐标累加啊, 还有 x 坐标累加很有可能会出现问题啊,很有可能会出现问题,会产生一个误差。所以说呢,我们在第一次循环的时候啊,在第一次找到我们的这个血频的时候, 我们要把我们的啊原始的坐标洗脸值把它重新给复制,你看下这里啊,我加了一个变量啊破循化的次数, 我们这个负循环的次数,在我们的整个负循环每次循环一次的时候呢,他就会加上,一看见没 他就会加上一,然后呢在他为零的时候啊,第一次循环的时候,我们是不是找到这个图片的 x 坐标和 y 坐标,对吧?找到我们血平 x 坐标, y 坐标以后呢, 我们把它给复制给我们的原始系列 y 坐标和 x 坐标,那这样呢,我们才可以去减少他找得这个误差值。 好让我们再来看看啊,把后面的代码一并改一改,看有没有问题啊? 我们先用的复型化,去找图,找一排,对吧?找一排找十次, 摘完以后呢,让我们的整个的这个原始起点呢把它重新给归位,然后这原始起点外坐标呢 给他递增一个,给他递增一个我们的水平高度,然后呢我们再来一次,我们再来一次,然后呢我们的循环再加一, 我们的原始起点外坐标好再递增一次,最后呢我们再加一,再循环,然后呢我们再加一,再循环,把同样代码写四遍, 那你看这样行不行? 哎,没有问题,对吧?好,我们再来演示一遍, 好,看见没有?没有问题,对吧?我们就按顺序把我们的每一个血拼啊,全部点燃一遍。那我们的代码这样写是不是很啰嗦呀?啊?是不是太啰嗦了?是不是 我们这样写同样的代码写了四遍啊?所以说我们可以怎么样?我们完全可以在第一个循环啊,在第一个大的循环里面啊,写一个更大的负循环, 对不对? four 四, 然后呢?把我们整个的这个代码呀,把它套进来,像这样 他就形成了两个复循环的欠套,对不对?外面一个四个啊,循环次数里面呢啊,循环十次,我们每循环完十次呢啊,完成一个小的复循环, 然后呢?外面整体的大的负循环呢啊?循环四次。那这样写的效果呢?和我们刚刚写的效果就是一样的。那我们可以看看是不是一样的 啊?看见没有,对吧?是一样的,对不对?


大家好,欢迎观看由植毛学院与安吉金领公司合作推出的第一届零基础学安吉金领公开课,这个文字介绍部分内容大家就自己看一下吧。下面我们课程开始 这两天我在弄我自己一个培训班,嗓子有点讲哑掉,也许声音有点小声,大家尽量啊,大家尽量,声音有点小声的话,大家尽量。 嗯,今天我们这节课主要讲的是一个安静精灵控制脚本流程这一块的内容。什么叫控制脚本?也就是说我们今天主要讲的一些东西主要是在这里的,一个是循环结构,安静精灵玄幻结 或循环,前车型循环,后车型循环,还有一个如果则循环。另外还有一部分就是标记调转、 腰肌跳转。主要的今天这一节课的知识点都是在这里,这是一个今天的知识点,因为这里的知识点都是来自于零基础学安全精灵这一本书。有书的同学请打开书本的第六、 第五十九页,第五十九页可以一起来看书,看着书本一起做,可以看着书本一起做。今天我们主要是讲循环结构,循环结构我们继续往下讲。 首先我们说一下什么是循环结构,循环结构就是说在满足某个条件下,多次进行,多次 重复执行的一段脚本,他多次重复,也就是说我有一段脚本,有一个事情,有一个打怪动作什么之类的,他是不停的在执行,不停的在打怪,这就叫做一个循环,他不停的做同一件事情。在案件监狱中,主要的循环命令有三个, 货循环、度循环、 y o 循环,有的 f o r 循环、 d o 循环和 w e 循环这么三种,这三种都是有一些不同的含义的,大家要注意区分。 我们下面先说一下什么是货循环,大家请打开书本第五十九页书本第五十九页,他这里提到了这个货循环。我们先说一下什么是货循环, 错循环就是指按指定次数执行循环题,也许会问,什么叫循环题呢?什么叫循环题呢?循环题就是说被重复执行,被重复执行的那一段代码叫循环题,然后这里交的内容 都说这个脚本内容,他就是一个循环题,他就是一个循环题,也就是说我们货循环最主要的一个作用就是说当循环的脚本语句次数,当他的次数是可以确定的时候,我们最好使用这个货循环,然后看一下他的语法, 看一下他的语法,他有两个语法,我们先看第一个语法,我们先看第一个语法,货循环,货循环,这里是循环次数,这是循环 次数,也就是说我们知道他要做几次,比如说我们知道他要做个五次,做个五次,那么就是货 五,然后脚本内容,然后 nix 实测货物 nike, 这就是做个五次。大家不要忘了这里有一个空格兜,这里是有一个空格的,这是一个货循环的运用,简单的一个货循环, 然后下面一个是,嗯,这里一个,这里一个货循。还有一个语法,大家注意看一下,也是货循环的一种运用,他是并量等于个初始值, 吐就是倒结束值,大家不不惨,就说这个一个,这里一个加倍内容,然后再 nice, 这个语法的意思就是说风循环从一个变量开始,变量给他一个初始值,然后让他不停的不停的以不产这个这个东西,不产这么一个数值靠近这个结数值, 总共循环这么多次,知道脚本内容循环脚本内容这么多次,也许这里大家有点云里雾里的,那么下面我们举几个例子看一下就行了。我们举个最简单的例子,俯卧循环三次,腹卧循环 三次,执行按键 a 一次,执行按键 a 一次,然后呢?一个 max 的起束或循环。他这句话什么意 是呢?他就说在货循环里面,在货循环里面,货循环里面,这句话按键 a 一次,他会被执行三次,也就是说你这一句话他运行了三次, 他一共运行了三次。为你这里一个佛山吧,他这句话就运行了三次,也就是说你按了三次 a 进, 按了三次 a 进,这就是一个最最简单最简单的第一个货循环的一个运用,这个相对来说是很简单的, 下面我们看一下下一个例子,下一个例子,下一个例子就是说货循环加上一个布铲,货循环加上一个布铲,大家可以看一下货循环加上一个布铲,货循环。 那癌的病量刚开始等于一,直到等于三,他的步骤是一,他的步骤是一。 怎么怎么理解呢?大家可以这样子理解,他的意思就是理解成我们设置一个矮,变音量矮,设置一个变量矮,让变量矮的值等于一到三,那变量的矮等于矮的值等于一到三,他的不长是一, 也就是说矮的子是从一到三,每一次都是矮,矮的子呢,每次都是加一个一 一二三,一二三,每次都加个一吗?一二三,就说一二三,总共是三次,所以就是这个脚本的代码,他也是说执行了三次, 醒了三次, 嗯,也许这里这里大家看一下,这里看一下,大家也许猜一下,哎,这那这个矮的值是多少呢?大家看一下这里的介绍, 嗯,大家看一下这一段代码,这一段代码,这段代码,大家可以现在打开安吉精灵,现在跟着我一起做,打开安吉精灵,把它运行一下,我们一起来做,打开安吉精灵, 货循环货,循环 a 等于一图三,设置一个布铲 是一,然后然后看一下是什么,按 a 键一次,按 a 键一次,按回来按 a 键一次,按 a 键一次,然后我们给他输入一下, a 等于 a, 矮等于矮,我们给他一个名字啊,或循环保存一下,调试启动脚本,大家可以启动脚本看一下矮的值是多少, 挨得只是四,挨得只是四,为什么呢?他第一遍,他第一遍挨得只等于一 执行下来加个一,变到二,二执行下来变成三,三执行下来变到四,四,好,不符合条件,他不执行这一段代码,所以他这里就直接退出来了, 直接跳出来的。然后我们可以看一下,当你的不长是一的时候,这个不长是可以被省略的,不长是可以被省略的,也就是说你直接这样子写 仔细,这样写也是正确的,他的部长默认是一,不长默认是一,但你不写的情况下,他不长是默认是一的。我们点击调试看一下, 一样矮等于四,因为矮最后一次只等于四,之后他就跳出这个循环的。 好,我们继续往下讲,我们继续往下讲,我们看一下这个货循环的,货循环的一个语法,应该是一个嗯,结构图,这张 图片大家也可以在书本的第六十页看到的,它是一个怎么样的一个值呢?第一步,第一步我们给一个并量付一个初始值, a 等于一,给一个并量负一个猝死值, a 等于一。接下来判断 a 是不是大于减数值,有时候 a, 我们目的是 a 等于三吧, a 是不是大于三? a 是不是大于三? 不是因为我们刚开始矮等于一吗?所以直行下来,他直行一并循环,直行一并循环,循环之后我们让变量挨等于。 嗯,病量加不产就是癌,病量,癌等于癌加一,癌等于癌加一,也就加一下, 原本是一的,一加一等于二,这个手矮的只是二,这个手矮的只是二。二。回来再去判断,再去判断二大于三吗?二大于三吗?不大于。继续回来否?继续切换一次, 继续循环一次,让癌的值这个时候循环结束,癌的值是二的,二加一,那么这个时候癌的值就应该是三的,癌的值是三。三。回来判断三大于三吗?不大于。 所以他又执行一次循环题,循环一题回来上去他就是三加一了。三加一的时候,他这个值应该是四,是四,四。回来再次在这里再一个判断,再一个判断,四到 大于三吗?是大于三吗?对的,是四大于三,所以他就回来循环结束, 让家人知。大家有没有理解,刚开始癌等于初始值是一,我们是癌等于一到三,所以说癌是否大于三,癌是否大于三? s 和大于三不大于。循环,矮的只加一,矮的只加一,矮的只加一, 然后回来,第一次回来矮的子变成二,第二次回来矮的子变成三,最后一次回来矮的子变成四,四大于三,四大于三,四大于三,那你说这个是成立的,所以他就 循环结束。所以我们刚刚看到输出矮的子,输出矮的子吗?我们刚不是看到一个输出矮的子吗? m、 s、 g、 b、 o, 输出一个矮的子,矮的子 矮的只是等于四的,数出一个矮的只是等于四的。所以说这个货循环,他是这么一个循环步骤,大家不要嗯被货循环给迷惑住,不要以为货循环,货,不要以为这个货循环,要以为这边货循环结束之后,矮的子是三, 这是错的,矮的只不是等于三,矮的只是四,矮的只是四。大家这里注意一下,不要弄错掉。 然后我们下面还有一个一些小提示,一些 小提示相当于学习指引一样的,也就是说你这个 style, 这个布场的增量布场,也说这个布场不能为零,比如说这一段代码, 这段代码氨基基尼,他是不会报错的,照样执行的是对的。但是你要记住,你因为一个布场为零,导致脚本进入死循环, 但是我们货循环,我们货循环,我们这个货循环最主要的就是循环一定次数,循环一定次数,所以说你一个货循环单使循环用会对你的脚本阅读造成难以理解的阅读,比如说难以阅读, 所以说货循环的针那个不产,最好不要为零,最好不要为零,而且你在循环的时候不要 把他的呃循环次数,循环那个变量发生改变,技术的变量不要让他发生改变。比如说你来一个货, 哎,等于算了,我在安吉吉林上写,我在安吉吉林上写,比如说我还是拿这一句话来做。举个例子,腹循环癌等于三,然后再这边一个这个,我让他输出一个癌, 我们把这句话删掉,我们让他输出癌,输出癌,输出病量癌。我们正常情况下调试,大家看一下,仔细看一下,这里 一二三对吧,一二三对吧,然后我们这里给他如果突然改了一句话,矮等于五,我们加上一句矮等于五。 这个时候有种你原本并量的癌是在这里的,结果你下面来句癌等于五,对癌的值发生改变了,那么我们启动看到没有,癌的值等于六,下面他只输出了一个癌等于一, 也是说他这个循环只只显得一遍就被跳出来了,这样子对你的一个脚本代码,一个流程阅读能力会变得很差的。所以不推荐大家这么使用,不推荐大家这么使用。 如果你要立即退出货循环的话,你可以用 xt 货, xt 货这么一个命令,这么一个命令, 大家可以一样在按键键里打开,打开按键键铃,我们这里给他加上一句话,把这个珠撕掉,如果 矮等于二,我们退出货循环。如果矮等于二,我们退出货循环。我们点击调试看一下启动,大家注意看一下矮等于二,看到没有?他穿矮等于二,你说他矮等于二的时候, 他是跳出货循环的,二等于二的时候,他跳出货循环了,我们确定一下,大家注意看一下他的输出值,二等于一,二等于二,看到没有?就是这么一句话, exit f ol ex i t for, 这个就是说一个货循环跳出来。 好,我们继续讲下面的一个多循环,我们继续讲下面一个多循环,多循环的话,他分两种,一种是前侧型循环,一种是后侧型循环结构, 两者有区别,就是在于先后判断书本在第六十一页,这里有详细讲解的,我们继续往下看。 一个是循环停车型循环结构,什么叫停车型循环呢?他的一个语法是这样的度, 你后面接一个玩偶或者 nto, 两个二选一,然后接一个表达式,下面是一个循环题,然后最下面再接一个入盆, 这就是一个循环的整体,也就是说他脚本是在执行这个代码的循环,这个代码的循环,他是循环这个东西的, 然后这里是一个判断表达式,判断表达式,我们继续往下看,然后多循环,他是单, 大家看一下都 yo 循环,我们还有一个 nto, nto 我们先不管他,这个 nto 我们先,到时候最后再讲, 我们先讲这个歪偶,我们先讲歪偶循环,读歪偶循环是当条件表达是成立的时候,他执行循环题,当条件表达是不成立的时候,停止循环, 大家这里能理解吗?他就是说当你条件表达时,我们看下面这个例子,看下面这个例子,我们一开始复制 a 等于一,有时候这个时候 a 的只是等于一的, 然后当条件表达是成立,条件表达是在这里,条件表达是在这里有人说当 a 等于一是对的时候, a 等于一是对的时候,这个东西是对的时候,条件表达是成立的时候,我们就不停的执行这一段代码, 不停的执行这一段代码。有人在这个例子中, a 等于一的时候,他会不停的着急,不停的等于着急, a 如果不等于一, a 如果不等于,则停止。点击, 大家注意一下,这是一个读 wlook 这么一个循环,就是这里的读 wlow, 读完路口这么一个循环,大家不要点鼠标,要不然我把你从远程地址里请出去的。然后我们继续讲下面的大家,我们继续讲下面的,如果 你要立即退出度循环,你可以使用 x 测度,可以使用 x 测度。大家看一下这段代码,大家看一下这段代码 a 等于一,如果 a 等于一,一个循环吗? 这里大家看一下。你看 cg box 就说这个,他是只执行一并的,只执行一并的,我们一样用代码调试一下看看。我们家先进一个脚本, 堵循环,堵外欧循环,堵外欧循环, 大家可以跟着我一起做,跟着我一起做。 a 等于一,我们先我们先这样读 w, a 等于一, 然后我们这里给他输出一个数字一,然后我们下面给他一个跳出循环,跳出循环,大家看一下,按照道理说,我们先把跳出循环去掉,先把跳出循环去掉,注视掉,这个叫注视, 我们先看一下这段代码,这段代码他应该是不谈,不停的弹穿,不停的弹穿,我们看一下一一一一一一直在弹一,我们停止脚本, 然后把它关掉,我们这个时候把这个菊花加上去跳出循环,加上去点击调试,点击启动,一确定脚本停止, 标本停止。比如说这种情况下,他执行完这句话之后,执行完这句话之后,他下面一句,这句话他就跳 出来的,他就从这句话跳到这里来的,导致脚柄结束了。大家可以记住这个是跳出循环的语句,这一句话是跳出循环的语句,然后我们继续往下面加, 这是一个读歪偶的一个流程示意图。流程示意图,我们拿刚开始的那个一样讲,我们刚开始 a 等于 a, 我们加开始的时候 a 等于 a, 哎呀, 开始的时候 a 是等于一的,开始的时候是 a 等于一的,然后判断表达式。判断表达式是什么呢? a 等于一吗? a 等于一吗? 是的, a 是等于一的,那么他就是直直行这个循环,直行这个循环,再回来再判断 a 等于一吗?是的,继续循环,但是当 a 不等于一的时候, a 不等于一的时候,那么他就是循环结束。 那我们也可以一样,可以用脚本来试一下,我们这里给他改变一个值,我们不用这个,我们给他改变一个值,我们拿 a 等于二, 要执行一次循环之后 a 等于二,那么这种情况一下,他脚本能循环几次呢?我们点击启动一弹一次,确定 看到没有?看到没有,他说执行个一次他就停止执行的,他就自己停止执行的,这就是一个啊,前车型循环, 我爱我的用法,我爱我的用法,他是当表达是是真的,他是表达是成立的时候,判断表达是成立的时候,他才去执行。判断表达是一旦不成立,那么他就结束循环不执行了。 另外我们说一下,一个,另外一个正好相反的读, nt 有 unt i l, unt i u 和 yo 是正好一个单词直插, yo 正好一个单词直插。下面就是说当条件表达是不成立的时候,直线循环提 不成立,弯右的时候大家记得吧,他是成立的时候,他是不成立的时候直行。大家记住 c o 和 y 和前面的 y w 是正好反一反的,这两个是正好反一反的。大家看一下, a 等于零, 直到 a 等于一弹穿入盆。我们用代码试一下,我们用代码试一下。先进一个脚本 毒用 nt l 循环,毒用 nt l 循环。大家看一下 我们那 a, a 等于零,肚子 unt i l 有问题。还有 a 等于一,我们让他弹窗,让他弹窗弹什么呢?我们随便弹一个弹窗一 要注意看一下,这种情况下注意到没有,他是不停的躺床的,因为 a 等于零,他要一直等到 a 等于一才会停止躺床,但是这个时候 a 他是一直都是等于零的, a 一直都是等于零的, a 一直等于零,那么就导致他一直在躺穿。那我们改一下脚本代码,我们改一下,我们加一个 a 等于一,加一个 a 等于一,也就是说当你循环一遍之后, a 会等于一,循环一遍之后, a 会等于一。让我们一起动 第一次弹穿,第一次弹弹弹出来的,我们确定好停止了,脚本停止,大家注意到没有?也就是说这个时候 a 等于一脚本就停止旋 换了, a 等于交警的停止循环了。我们前面说过一个跳出循环,在这里也一样能用,我们看一下跳出循环这一句话, exit 空格 do, 我们一样点击启动, 弹穿一次,弹穿一次,我们确定他就跳出这个循环了,他就跳出这个循环了,大家注意到没有? ok, 那这边的话一个多句话,我们下面也和刚刚那个一样,要看一下他一个流程图,流程图 大家仔细看一下,开始他的表达是为假则循环,为假则循环, 假肢循环,如果这表达是是真的,那么就结束循环。对表达是什么的话,大家可以去 看一下前面几张的内容,前面几节课的内容,然后我们看一下这两张图的区别,大家仔细看一下这两张图, 大家先看这个读歪友,读歪友流程判断表达是是真的时候,他是在循环状态,他为假的时候就停止循环,为假的时候就停止循环。那么 nto 呢? nto 呢? nto 呢?他是为假的时候 在循环,循环没针的时候他就停止循环的。大家自己注意一下,这里是容易搞混的,而且大家要注意,他是进来先判断,先判断一下, 然后判断出来他要不要执行循环题,要不要执行循环,要不要执行循环。然后我们继续往下解 后侧型,什么叫后侧型循环呢?他的一个语法结构和刚刚一个很相似,看看大家看一下他 yo 和 nto 是放到后面的, 还有很多是放到后面的,而我们刚刚学的话,他是放到这里来的,放到前面的, 判断到前面的。大家注意一下他一个和后车和型的最大的区别,他是肯定会先执行一次循环题,然后再根据条件判断是否需要循环。什么意思呢?他会把这一段代码先执行一遍,执行一次, 不管你这个条件条件成不成立,他都先执行一次,执行完之后,他才判断这条件 是否成立,要不要继续执行。我们继续看后面,我们看后面,直接看例子, 读歪偶,读歪偶,读卢鹏,歪偶命令,他是先执行循环题,然后再判断条件是否成立,如果成立则继续循环,如果不成立则跳出。我们看一下这段代码,看一下这一段代码,看一下这段代码。 我们,呃,也一样,我们也一样,我们也一样。这边一个地方好像写错了,好像写错了,而且这个是 y, 我把它写成 t o 的。 没关系,我们一样,我们代码里改一下,我们代码里写一段啊,我们叫做读啊, 读 lupy, yo 循环,读 luple youtube。 我们写一段代码,看看 a 等于零度度,然后这里我们让他加上是什么的,我们给他一个弹穿 a, 弹穿, 看穿 a 等于 a, 然后 a 等于 a 加一。 大家别玩了,这里还有个 yoyoa 小于三对吧?我们看一下 yon 小于三对的,然后我们点击调试,点击调试,看一下他循环了多少次。 a 等于零,一次 a 等于一两 次, a 等于二三次。停止了,停止了。也就是说,也就是说他一直直到这里, a 小于三的时候, 他就停止了。我们看一下第一次,第一次弹窗,他直接下来, a 等于零, a 等于零,然后下一步他就是判断歪偶零小于三成立。既然歪偶他是成立,那么就循环零小于三成立, 循环一,一小于三,成立条件,成立条件是对的,继续二,二小于三条件也是成立的。那么让教练继续 循环下来,停止了,为什么会停止呢?因为这个时候他就是三了,三小于三条件是不成立的。三小于三, 三小于三吗?错的,不成立的,所以说他就停止循环了,他就停止循环了。 那么我们继续开一下,看一下他这么一个循环结构是怎么样的,大家仔细看 后侧型循环嘟噜喷外有,他是怎么样呢?下来循环体一次执行,一次判断表达式,如果表达式不成立,那么就结束循环,如果表达式成立,那么就继续循环, 继续循环。我们一样结合上面的那个图来看一下,我们一样结合上面的那一张图,这一张图大家仔细看,也是读歪哦,读歪哦,他是把歪哦放到前面去 的,他第一次执行下来,判断表达是第一次执行来判断表达是表达是成立,那么就循环表达是不成立,那么就结束循环表达是成立循环。然后我们看一下这个 他,记住哦,他是新判断表达师哦,他是新判断表达师哦。我们看这个,这段, 下面下面下面这里啊这里这里,这个是独路,还有独路后车型循环,你看一下他是心直行循环体,心直行循环体, 然后判断表达式,然后判断表达式,表达式是真的,继续循环,表达式是假的。结束循环。看到区别了吧?看到区别了吧? 然后我们继续继续读路陪 nt o, 读路陪 nt o, 读路陪 n t o, 他是先直行循环题,然后判断条件, 如果条件成立,则退出循环,这个和刚刚那个是很像的,和刚刚那个很像的,我们一样用代码,我们一样用这个代码来调试,我们先进脚本 读路牌, unt i l unt unt i l unt i luntil, 要循环, 我们保存一下,一按代码把它放上去,他的代码是 a 等于 零,弹出 a, nto a 小于三,我们一样 a 等于零,读五, 弹出 a, 弹出 a, 弹出 a, 然后让 a 等于 a 加一,那每次循环 a 都加个一, 然后加一个 nt o, a 小于三。大家看一下这段代码,他是只只选一次的,为什么呢?因为第一遍 a 等于零, a 等于零,直线下来, a 等于 a 加一, a 等于 a 加一, n t o a 小于三,那么他就退出来了,我们点击一下启动, a 等于零,只写了个一次,只写了一次,确定停止掉,停止掉。但是我们如果把条件放到前面去, 大家注意看一下前面曲,前面曲,那么他会怎么样呢?大家猜一下。我们点击启动, 一次都不执行,直接脚本停止运行,直接条本停止运行,看点击启动,他就脚本停止运行,为什么?因为他是新判断的条件,发现条件不成立,他就不执行这个循环,他就直接脚本结束。但是你把这个放到后面去, 把这个放到后面去,那么他就相当于先执行了这个循环,然后再判断条件,发现他不成立,那么他就停止循环,停止循环, 条件不成立,停止循环,这就是一个循环,和前面这样个循环的有也是有区别的。我们下面看一下他这个一个流程图, 流程图一样,开始判断循环题,表达是为假则循环,为真则结束循环。和刚刚这个歪哦,和刚刚这个歪哦,刚刚这个歪哦,也是正好反一反的,反一反的,大家注意一下。 然后我们下面说一下,如果折这个循环,如果折这个循环,大家书本可以翻到第六十二页。如果折这个循环, 他的命令适合适合判断表达和那个读弯腰路粉是一样的, 什么意思呢?他也就是说 yo 调节判断表达式循环,当你调 判断表达是是成立的时候,他自行这个循环条件表达是成立的时候自行,然后这里这个是呃结束循环的依据,也不能说结束循环,应该是循环结束的地方,这是一个循环结束的地方, 大家一样可以用代码来调试。大家一样可以用代码来调试。我们先进一个脚本, 弯腰弯腰循环。弯腰循环啊, 我们写一个简单一点的,下面我 记得我有例子的看一下。这是一个例子,我们一样和他一样, a 等于 a 等于零, w a 小于十,我们让他弹穿, a 等于 a 等于多少? a 等于 a。 加一, 大家仔细看一下这段代码,我们点击调试,点击启动, a 等于零,一二三四五六七八九九之后大家猜一下会不会有十 九,之后大家猜一下会不会有失,没有为什么?因为当你 a 等于九,这一边 a 等于九, a 等于九。有的,当你弹出来 a 等于九的时候,他执行完,执行这一句话,得到 a 的指 是死, a 的字死,死之后这句话绕回来做,这里只信这一句话,这句话 a 是等 a, 他是判断 a 小于死吗?美若你死小于死吗?死小于死吗? 错的,死不小于死,死是等于死的,死是等于死的。也就是说你这一次循环结束,他这里面的代码就没法执行了,里面代码就没法执行,他就直接执行这里了,直接执行这一段代码。 大家注意到没有?这个歪偶循环和路配循环是十分相似的,我们可以把这一段代码改造一下,改成路配循环,读歪路配循环。我们看一下,我们看一下一模一样的代码, 我们下面给他加上一个 b, y, 哦, a 小于十,我们给他一个初字, a 等于零。 blood yol a 小于十, 我们让他弹穿。 a 等于 a, a 等于 a, 加一,我们看一下,我们把这边的代码给他注视掉,把这边的代码给他注视掉。我们点击调试,点击调试,点击启动,启动 第一步, a 等于零,和刚刚一样,他慢慢的加一二三四五六七八九 九,下一个一样不会有时,一样不会有时,这说明这一段代码,这一段代码完全等驾驭这一段代码。 两个功能是一样的,两个功能是一样的,两个功能是一样的,这两个功能是一样的。 然后我们继续讲,继续往下面讲,继续往下面讲跳转结构,跳转结构 大家书本到第六十二页最最下面最最下面跳转结构是可以实现脚本在流程标记中无条件跳转,完整的跳转结构是由标记、标记和跳转组成的。 什么意思呢?我们继续往下面看,先看标记,什么是标记?大家先看一下什么是标记?标记是脚本中作为标记,是爱意 m 阿姨, m 就标记的意思,他如果有这个标记的话,你可以用勾兔标记名私信。无条件调转,注意一下,这里是无条件调转 语法结构,这是录像这个样子,你给他一个标记,他进行跳转,我们进行一下,看一下下面什么叫跳转,跳转,跳转就是这个勾兔跳转,就是勾兔跳转的一个基本格式,就是勾兔标记名, 大家要注意一下,这里我要提一点,勾兔这个命令是对脚本结构影响最大的命令, 为什么这么说呢?他执行勾突之后,他会让脚本的流程被强强制性无条件的跳倒。 艾阳标记这里,如果你跳转多了,你就会造成一个逻辑的混乱,造成一个逻辑的混乱,而且变得非常非常的混乱, 所以这里我是,呃不,不推荐大家使用构图,不推荐大家使用构图,这个构图魅力如果能不要用就不要用,能不要用就不要用,这个构图魅力就说对脚本的呃可读性是非常非常的差的, 特别是你后来后期处理一些大型脚本,你如果一个脚本里面构图超过三个以上,基本上会把你人弄晕掉, 因为他是无条件跳转的,你看完这一段代码之后,然后我再一码,读读读读读,哎,读到这里了,突然来一个勾兔跳到这里来,哎,又要回来再读读读,或者 这边一个勾突突然跳到这里来,这是无条件跳转的无条件跳转,所以说他会让你的脚本特别的混乱,特别的混乱。 然后这里,嗯,给大家说个几个勾兔的,勾兔的注意的地方,一个是勾兔不能跳转到不存在的标记上,我们看一下这是什么意思?我们看一下这是什么意思?我们先进一个脚本, 狗兔,狗兔,举个例子,举个例子, 我这边有一个标记是 a, 标记是 a, 我让他躺穿 b, 躺穿一二三,然后我这里拼命一个勾兔比勾兔 b, 大家注意一下这个 b, 这个标记名他是没有的,没有的不存在,那么这个时候你点击保存脚本,他会报错,没有找到目标, 看到没有。也就是说你这个 b 必须把它存在额头 b, 这种情况下允许你跳转,因为他有地方可以跳嘛? 有地方可以跳吗?但是你如果是 a, 没有地方可以跳,标记没影响标记,你随便注时,他照样正常,因为你没有跳转命令,但跳转就不一样,他必须要有相应的标记。明债, 这是第一顶一个,边一个跳转。 第二个,如果指程序内部,在 只程序内部构图,会优先搜索只程序内部是否有对应标记,没有的话他才去查找主脚本的标记。什么意思呢? 也就是说你这个勾兔,他可以从只程序跳转掉主角本,只程序跳转到主角本。我们举个例子,我们举个例子, 我们写一个指程序,我们写一个指程序三本笔三本啊,指程序,指程序,然后我们这里给他一个弹窗,弹窗,给他一个弹窗,告诉他们进入指程序了, 然后我们给他一个勾兔。勾兔,嗯,我们把这一段代码,把这个,嗯,把这个拉到下面去, 我给他这句话去掉这句,这句话把它改成括调用直程序,调用直程序 跑到 a, 我们把它放上面去,放上面去,这种情况下他就应该大家看一下他代码怎么运行,第一步执行标记,第二步要用止程序,用止程序跑进来弹穿, 弹完穿回到冰凉,回到标记 a, 回到标记 a, 下一句又是调用纸程序,又是调用纸程序,那么我们点击一下调试,试试看,我们点击一下调试试试看,调试启动 看到没?止尘器上面进入止尘器了,按一下确定。哎, 优质程序,这说明什么?这说明什么?呃,说这说明了什么呢?说明呢?你勾突 a 确实能跳到这个,这里,确实能跳到这里来, 我们可以这样子试一下啊。我们这里给他加一个主程序,主程序,我们给他加一句话,主程序 调试启动主程序执行,这一句话,确定关掉子程序,主程序,子程序,看到没有?还有就是说主程序子程序都能跳,但是这个时候 我们在直程序里面也加上一个标记 a, 直程序里也有一个标记 a, 组成序也有一个标记 a, 那这个时候大家看一下他是怎么样的? 点击启动第一个主程序,执行到这句话,下一句话就调用指程序了,确定指程序,那么大家猜一下,这次按确定他下一个执行的是主程序还是指程序,我们看一下 指程序,指程序,大家看到没有?无论顶多少次他是都是指程序,就说明他一直在这里跳转,他不会到这里来了,他这里来不了了,他就是说优先指程序的,大家注意一下这一段代码,注意一下。 然后第三个不能从一个子程序中构图到另外一个子程序,不能从一个子程序中构图到另外一个子程序,大家仔细看一下啊,仔细看一下,我们试一下 能不能从一个子程序中勾出到另外一个子程序。嗯,我们举个例子啊,这里给他一个标记 a, 子程序一,我们给他一个子,把他注视掉,代码补上注视掉,我们给他一个子程序一, 我们再写一个子乘虚二,子乘虚二,子乘虚二,我们让他跳转 a, 我们啊,主程序一,加一个躺穿,加一个躺穿,我们把主程序的这个注视掉,不需要 我们调用子程序二,正常情况一下他先他是呃调用子程序二,调用这个子程序,然后在一个构图 a, 大家可以猜一下,他也许会跳到这里 来,也许会跳到这里来,大家猜一下,大家试一下,看看他会不会跳。哎,点击调试,调试通测试都不通过,没有找到目标,为什么他没法从这里跳到这里来,所以他不找到坐标,所以大家注意这里一句话, 一个子程序中的括号不能跳到另外一个子程序,括不能不能注意一下, 然后另外不能从脚本主脚本勾突跳到直程序或者函数中。我们现在一直都是只程序往外面调,只程序往外面调,我们试一下能不能让脚本从脚本里面跳进来。 我们这里其他一个最最简单的加一句勾兔 a 来看一下脚本直行这 一句话,他应该会跳到这里来吗?他会跳吗?我们保存看一下,一样点保存一样,他是没有找到目标,没有找到目标 知道没有,一样是没有找到目标,说明你主程序他是没法跳到直程序这里的, 这是一个构图的一个注意的地方,注意一个地方。另外我前面说过,我非常非常不推荐大家使用构图,非常非常不推荐,因为我在这边大家可以看一下,我在安吉电影论坛上也有发表过这个帖子, 有发表过这么一个帖子,大家可以打开安吉金言论坛,点击教程工具,点击教程工具,打开教程工具里面第一 一个纸猫精品教程专区,打开进去之后我这边的一个呃锁影,我这边一个锁影, 大家可以打开看一下我这边的一个锁影,大家看一下在 在这里在研究类里面,在研究类里面一个精华贴,一个精华贴,看大家使用构图之前建议大家都看一下这一瓶帖子建议大家都看一下这一瓶帖子, 大家回头可以自己看一下,回头可以自己看一下这么一片帖子,这里我是有详细说明沟通语句, 沟通语句能不用就不要用,尽量多使用口,能不用就尽量不要用,这是一个沟通语句的 一个注意的地方,大家注意一下这是构图以及一个注意的地方。下面,哎 哎呀,结束了,那今天的话,今天这边的话,呃,今天主要我们讲了一个循环,我们今天主要讲了一个循环,下周三,下周三,大家注意一下,下周三的这个时候也会照样会有讲的,下周三我们会讲中段命令, 重启脚本重新运行的命令,还有一个子程序函数这么四块内容,大家下周三也是这个时间,七点钟,七点钟,大家欢迎大家来准时观看, 那接下来的话,因为基本上,嗯,今天这边的话课程可以说是到这边结束,那接下来的一段时间大家可以自由发言,自由提问,有任何什么问题的话都可以提问的。今接下来是一个答疑,使劲啊,稍等一下,我先把我这边录像停止。

好,我们今天来看这个朋友啊,他提的一个问题啊,他说度循环里面有多个子程序, 对其中一个子程序设定调用次数,或者子程序 比调用次数限定啊,请老师解惑啊。他的意思应该就是在一个循环里面啊,限制一个函数的字形次数啊,他说的子程序应该是函数的意思啊,然后我们来看一看代码怎么写吧, 因为这是一个对于初学者来说啊,应该是很容易碰到的问题吧。我们现在看一看啊,我们常规的,我们常规的 呃度循环,它是无限循环,对不对啊?它的意思是在里面,如果我们要给一个呃指函数,设定它的指线次数的话,应该怎么写?那我们在这里就写一个函数啊, 我们写一个函数一,然后我们函数一只做一个输出啊,就写函数一,然后再写一个函数二。 好,然后我们在前面啊,在这个度循环里面来调用这个函数一和函数二。 好,我们来启动脚本啊,我们来看他的输出啊,是什么样的情况?好,我们停止。 好,我们可以看到啊,我们的输出就是什么,就是不断的输出函数一和函数二,看见没有?就是一二,一二,一二,那这样重复的输出, 那如果我们想啊,限制一下某个函数啊,他先输出多少次,然后再输出函数啊, 比如说这个一,好吧,我们先让它输出五次,再输出函数二,对吧?那我们就 four 啊,五,然后 next 在中间啊,插入这个函数一,因为我们的循环 是可以嵌套的,能不能明白?我们的循环可以嵌套,包括你在度循环里面,你还可以写一层度循环啊,然后你在这个内层的度循环里面,你还可以继续嵌套,他这个嵌套是无穷无尽的啊, 当然这种圈套你要考虑他有没有这个必要性,因为我们的度循环是什么?是无限循环 是吧?那我们最内层的这个度循环,他一旦开始执行的话,他就跳不出去了啊,如果你不给他设置这种跳出的这个条件的话,他会一直在这个最内层的度循环里面循环,所以我们度循环的欠套啊,一般来说是没有必要的啊,但是我们度循环欠套, 复循环啊,是啊,可以的啊,是经常会使用的,比如说这里啊,这里我们要复循环五次 函数一,我们才会执行这个函数二,我们可以在后面啊,打一个断点,循环一次之后我们打个断点,这样看起来比较清楚一点啊,我们调试 好,我们结束程序,你看我们下面的输出窗口看见没有?他有一二三四五,对吧?有五个函数一,然后呢?有一个函数二, 看见没有?这样我们就可以设置啊,最简单的设置某个函数,先执行多少次啊?然后再执行函数二。 好,我们还可以再进一步啊,再进一步。假如说啊,我想在前五次循环里面啊,执行函数一和函数二,从第六次循环开始啊,我就不再执行函数一了,那我们可以怎么写呢?我们这个时候可以引入一个啊技术 的机制啊,计数器,他不是某个函数啊,他是我们经常会使用的一个编程技巧。 一般来说我们会用英文单词的话,用这个单词啊, index 是缩影,如果是中文的话就用啊,就可以叫它计数器,我们把这个计数器然后等于零啊,初始是等于零,然后每一次循环的时候,我们让这个计数器啊, 然后去递增,递增就怎么写啊?递增等于啊加一, 这就是递增啊,这是递增。然后我们每次循环的时候,我们计数器的数量啊,就会啊,计数就会加一,从零开始变成一二三四五啊,变成一二三四五,所以我们可以在前面怎么写呢?加一个 e 函数啊,判断 条件语句,如果计数器啊,如果计数器小于六的时候, 小于六就是零,一二三四五啊,可以执行六次,那能不能明白?小于六的时候我们执行啊?函数一, 那我们现在来看啊,他会去有一个什么样的效果啊?他会有个什么样的效果?我们在最后的一次循环结束的时候啊,给他说出一个 杠啊,这样去看的话,他的信息就看的比较清楚一点,然后我们来调试,好停止调试,我们可以看到啊, 前面啊,函数一二,看见没有?函数一二,函数一二一二一二一二,这有几个?一二 一二三四五六,对吧?只有六个一和二,他前六次输出都有一和二,从第七次开始,你看他就没有一了,能不能明白?你看他这里就没有一了, 所以我们可以通过计数器啊,来控制我们里面具体的一个函数啊,他需要执行多少次? 好当一个程序啊,足够复杂的时候啊,我们计数器啊,往往一个是不够用的啊,往往是一个是不够用的,比如说这里啊,我们给他写一个计数器二, 然后在下面还是一样啊,计数器二等于计数器二加一,然后我们在后面呢,用这个二来详细的控制。什么?控制我们的函数二,能不能明白 这样大鱼啊,我,小鱼啊,小鱼十二。嗯, 像这样那么明白。再一个程序,当你写的足够复杂的时候啊,如果你想进行一个详细的啊,这种次数的控制的话,就可以引入计数器, 通过计数器来啊,详细的控制我们每一个函数啊,他要执行的次数啊,这一期代码很简单啊,但是我们涉及到的思想很重要,这是一个常见的编程手段啊,引入计数器,让计数器在我们的循环里面进行一个递增, 通过计数器的判断啊,依附一句,通过判断计数器的这个数值啊,来调整我们的函数执行次数,这是一个非常常用的编程手段。

好啊,大家好,我是小的,那么上节课我们讲了这这个,呃,通过当前应用的一个包米啊,快速运行和关闭啊,这个应用啊的一个方式,对吧?他就这两个代码,一个是启动,一个是关闭啊,大家知道一下就好了。而这个东西啊是不需要封装的啊,因为很简单,就几个几个字母啊,一个是润,你记住这个就行了,对吧? 实在记不住也没关系,你记住记住他的啊,中文你直接在这里搜索啊,全部命令里面搜索啊,也是可以的,哎,启动启动应用,哎,关闭应用两个命令吧。 然后接下来啊,我们再讲一个其他的一个东西啊,就是,呃,我们循环切换账号啊,他那个很多同学他,呃不是太清楚啊。嗯,先打开一个文档啊, 哎,这有一个一般我们是在模拟器里面去看的,如果我们在这个电脑里面直接看,他有可能看不出来他有没有换 啊。然后我们共享路径,模拟器共享路径是这个 prc 开头的,然后我们看看这个账号是不是有换行的啊,他是有的,对吧?他是有换行的,然后我们就通过这个来试一下吧。嗯,还有十个账号是吧?十个账号好像之前测试其他的东西留的,没关系啊。 好,首先我们先定义一个路径那,呃,路径,我们文本的路径,呃,路径,我们不管是什么云机也好,模拟器也好,首先第一层 s, 哎,都是这个啊,都是这个,第一层啊,跟目录是 sd 卡的,跟目录这个,然后,哎,我们就看我们到底是进了多少东西啊,我一般推荐我们使用这个啊, es 五点浏览器啊或者其他的,呃浏览器就是看这种文件的啊, 打开有一个内部分数,对吧?我们进来的这一层就是这个根部路就是这一层的,然后如果在这里面有一些文件,比如说测试文本啊,后面直接跟上测试文本啊,就可以直接对应的就是我们这个啊,就是对应的我们这个东西,对吧? 啊?那么我们共享路径因为还有一个文件夹,他也是这个 prc 开头的啊,所以说我们这里还要再加一层,是吧?中间加上那个共享路径就是 prcatu 啊啊这一串, 哎,然后这个文件夹的名字叫账号啊,改成账号也是 txt 结尾的一个文本文件啊啊这是我们一个路径啊,那么我们要实现啊自动切换账号啊,首先我们要把这个账号进行一个便利,对吧?啊便利呢?其实啊简单来说呢就是一个复循环啊,复循环, 嗯。哎我们便利这个东西啊,首先要干什么?要进对他进行一个读取对不对啊?我们先用一个临时变量来储存读取到的内容,那么我们临时就等于什么呢?啊?我们这边是有啊,一个自带的一个命令,文件操作命令对吧?呃文件操作命令 其实我们用到的并不多啊,我们像这种就是读取,呃读取文本指定行的,或者删除指定行的。呃这种带行的东西啊,就是写入指定行这种 他是有 bug 的啊啊,因为之前测试过啊,他会自动添加那种什么空行啊什么的,有 bug, 所以说这几个命令我们不用啊。哎,如果你想剪辑一点呢?我就我们共享的一个免费版的里面也有啊,有这个文本专门封装了一些文本的啊,对行的,对进行操作的一些命令都有的啊。嗯,也可以直接用插件里面的对吧?啊都可以啊,然后这里呢我们就不用插电了,我们直接用原版的命令啊对他进行操作啊。 好了,我们来看一下啊,一个读取啊,读取文本,读取文本内容啊,读取文件的内容呢?他有两种啊,一个是呃直接读取,一个是直接读取,还有一个是什么?呃 还有一个是读取文本文件内容存为数主,对吧?我们需要用到的呢啊也是这个命令啊,就这个存为数主的,就把每一行变成一个成员。 我们这里啊读取的路径他这个参数呢只有一个,那就是文件的绝对路径,绝对路径呢就是这一个,对吧?我们存到变量里面了,所以说我们直接用路径代替,然后我们现在临时里面啊,他读取到的啊是什么呢?那就是我们这个文本文件的啊,一个内容啊,他就 变成了一个数组了啊。我们输出数组用什么啊?用 for 循环对吧?嗯,比如说放 g 等于零。兔啊兔几我们不知道,所以说我们要用一个啊,其他的命令就计算数组下标的最大下标的啊,由 b 开头的这个获取数组最大下标啊,就是数组的长度,哎,简易。 呃,比如说他有十一行对吧?他的长度数组的长度是几是十一对吧?十一减一就是十。呃,因为我们知道啊数组是从从零开始的, 所以说他到十一呢啊他的最大下标就是十,哎,然后这里呢我们就是计算临时最大下标啊,零,哎,零到十就十一行吗?对吧?我们这里进行输出,输出是什么呢?输出我们的临时什么临时机,就每一行的内容是什么? 这里我们读取了读取这个路径里面的东西,我们输出一下看看啊。好的,我们来看啊,我们来看这里,哎,这里输出了十一行的东西,一二三四五六七八九十十一,对吧?哎,跟我们左边那个文本里面的内容是一模一样的啊,对吧?一模一样的之后啊,我们看到啊,他每一行他把账号和密码放在一起了,对吧?中间 用什么?用四条杠隔开了啊?四条杠隔开,所以说我们要对这个文本文件进行处理啊,来怎么处理呢?来这里就用到另一个新的东西啊,新的东西是什么?分割啊?我们直接打,我们不记得不要紧,我们直接搜索,对吧?分割数啊,分割数组, 分割数组呢?并不是说把数组进行分割啊,是把制服串啊分割成数组,哎,把它分割成一个数组,哎,他是我们参数呢是两个啊,带分割的数据,他就是需要是什么制服串表达史,对吧?他必须是制服串啊,哎,我们读取文本他就是制服串呀,对吧?我们要对这个一行制服串进行分割,后面有个分割服,对吧?分割服呢也是制服串 啊。分割服是什么?分割服可以是所有东西啊。分割服,我们这里呢分割服是四条杠,对吧?我们也可以用什么呢?也可以用其他的东西代替的啊。 啊?讲这个之前我们先讲一下这个分割啊,数主的啊,一个东西啊,我们来看一下啊。好,我们先让临时的 等于这个制服串呢,就是原制服串啊,需要进行分割的一个内容,比如说我们输入一些数字,对吧?输入一些数字, 然后分割符可以是所有东西啊,包括数字,比如说我们用九进行分割,哎,我们用九进行分割,对吧?他分割出来呢?我们看到这里有几个九,一个九,两个九,这两个九进行分割,他把前面的放在一起变成一个成员,然后零放在一起变成一个成员,然后后面的放在一起变成一个成员,对吧?他就是用这东西进行分割了啊,如果我们哎用 八十九斤分割啊,行不行?也是可以的,因为八十九他这里就一个,所以说他最多有两个成员,前面一个,后面一个,对吧?哎,我们猜想是这样啊,那么具体是什么样,我们可以对他进行输出看一下啊。已知啊,我们把这个这个东西啊分割之后,他就变成了什么数主,所以说我们输出数主呢,输出这个临时的数主,那就是宝鸡等于什么?零加兔, 他的最大下标零食,然后我们直接输出啊,零食的啊,零食的最大下标,那就是这。好了,我们来看一下里面到底是什么,哎,他有三个跟我们预想一样的吧,哎,九 把前面的分割了,然后这个零分割了,然后六五十三也分割了,他唯独我们用什么分割,然后这个东西他就会消失,他就变成一个什么,他就变成一个逗号,他就变成一个逗号,然后把这些内容全部合成了一个数组了啊 啊类似我只讲个比喻啊,然后如果我们这里面有一些这种斜杠是吧?啊我们也可以用两个斜杠啊不不是斜杠,两两条杠啊,两个减号。也可以这么说啊, 我们两个两个杠进行分割的话啊他就是按照我们这些分类啊,进行一二三四分钟四个,那么我们这里也试一下啊,直接调试啊,对吧?一二三四五啊,六七八九零九六五四三是吧?哎这个分割符啊没有局限啊,你哪怕用个空格他也一样对吧?你这里加个空格啊进行分割他也是分成了两个空格,前面是一个空格后面是一个啊,对吧?所以说这个万物皆可啊。分割。 呃那么如果我们用空值就是空白的一个支付上能不能分到呢?我们试一下好像崩了啊这不是崩了我不知道调试 空白他分不了啊,因为你这里面没有空白,你是满的啊,你有东西啊。哎如果我们没有东西啊我们把这个拿掉啊,那能不能分跟呢?也不行啊,所以说我们分割服里面最起码要有一个数据,如果没有数据的话是不行的啊,这里要记住啊分割服啊要么是个空格要么是其他的东西啊,不可以为空啊,为空他这里就分割不出来东西啊。 好的,这里我们了解了分割符的一个作用啊分割符的作用,然后我们这里啊继续接着我们之前的说啊啊这里我们读取的文本啊把这个文本传承了数组我们输出这个数组每一个成员对吧?每个成员就是这一行当前行,但是呢我们当前行有两个数据,对吧?他前面是账号,后面是密码,所以说我们需要对他进行分割,对吧?对他进行一个分割啊,所以说呢,我们这里呢, 哎,这里这个输出我们留着啊,正常情况下是这个不需要输出的,对吧?然后这里啊啊不要新加了啊,我们在他输出后面啊添加新的东西啊,比如说这边我们有账号啊 的密码,对吧? 呃,还少一个啊,零十二,然后我们用零十二储存分割的一个内容啊,零十二等于什么呢?零十二等于啊, 哎,我们要分割谁啊?分割这个临时 z, 对吧?他每一次都不一样啊,每一次输出一行,最后我们要分割的内容呢?也是临时 j, 那么临时 j 我们分割服是什么?分割服就是我们文本这边来四条杠,对吧?一二三四四条杠,分割之后我们对它进行一个啊, 输出来输出我们的零十二的什么?零零十二的一,那么他两个对应的就是账号和密码,我们看一下行不行啊?调试。 哎,他这里呢输出的是一行内容,然后这边他把两个数据给分开了,二和三分开了,然后这边也是啊,分开了 之后我们知道了啊,对吧?然后我们的账号那就等于什么呢?就等于零十二的零,对吧?然后密码等于什么?零十二的一, 这个输出我们不要,那我们直接输出账号密码,哎,账号是是什么呢?是我们账号,对吧?然后密码是密码。来我们来看一下啊,调试 啊,第一行账号是二二二,密码是三三三,对吧?第二行是账号是二二二三,密码是三三三四,然后二二四三三五二二五三三三六啊,对吧?他都给他分开了啊, 然后我们就对呃,我们就使用,接下来呢我们在下面就对这个账号密码进行一个啊使用,那使用的话就我就不多说了啊,使用呢无非就是输入嘛,对吧?哎,点一下输入框给他输入账号密码,如果有内容就给他删掉,就是这个意思啊。 输入内容呢?输入内容就在当前窗口输入文字啊,是这个 input tit 啊啊输入内容比如输入输入账号我们直接用电量的吧,可以直接用电量的,也可以放支付串,也可以直接用数字啊,但是不能输输入数组啊数组啊,他因为他是数组吗?不可不可以的啊,好,输入账号,输入账号以后啊,等待一秒钟,然后我们, 哎输入一个分割的东西,然后让我们知道啊输入一个什么呢?哎这个吧大于小于号啊,然后再等待一秒钟再输入我们的密码密码 ok, 输密码再等一秒,这次我们一个循环就完成了,然后下一个循环, 哎我们测试啊,只测试一个的话我们直接退出后循环,他就只运行第一个啊,我们来试一下 对吧?哎他只运行的第一个啊,我们测试的啊,他账号是二二二,密码是三三三三,然后他就我们就可以通过这种方式啊进行输入,对吧?因为我这里是测试啊,都是输入,输入一个输入框里面也没有点击, 到时候你自己加啊。好的,这个就是我们循环啊,循环账号的一些内容啊。 呃需要特别注意的呢,是一个我们路径啊,我们路径这个模拟器的共享路径啊,这一层有些云机啊,啊,模虚拟机啊,他是没有的啊,你如果你在这里面建这个,在他那里面建这个文件夹是建不了的啊,而且放不了文件啊,就算能建能放文件你也读取不了啊,并不是说所有的都这样啊,一一部分是这样的,所以说我建议大家呢,如果你不是模拟器的话啊,呃 啊,或者说你模拟器也用,云机也用的话,你这个路径啊,最好不要用这个啊,不要用共享路径啊。然后最好是什么呢?把这一层去掉,直接在根部录下对吧?直接在就是我们一打开滑到底,哎,直接在这里清洁文件啊,他这样的话云机也能用,模拟器也能用啊, 这是一个注意事项啊,我们入境只有两种,要么是共享入境,要么是直接根部录下直接进,这是最方便的,也是最不会出问题的啊。好了啊,这节课就说这么多吧啊,感谢大家观看,我们下节课再见。