金猪脚本【第七期】教你 0 基础学写脚本 ——程序结构(第三节)
金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
接着上一章。继续循环控制语句。
While循环。
直接看官方例子:
- i=0
- While i=0
- Msgbox "我停不下来啦!!快住手"
- Wend
- //当循环条件成立的时候,反复执行循环体
复制代码
关于While循环,没有太多讲的。因为do循环,for循环基本能够把While循环的功能实现。大家如果要写,那么按照官方例子的格式写就行了。需要说明的是While的循环条件和for不一样。For的是循环次数,而While的是循环条件。只要While循环条件为真,就会运行。
- While True
- TracePrint "正在循环,这是循环体。"
- Wend
复制代码
比如这个,会一直运行的。
- While -1
- TracePrint "正在循环,这是循环体。"
- Wend
复制代码
这样?其实只要这个式子的值不是0,就会运行。为0则停止。
Do循环。
do while:Do循环有很多种。其中一种是 do while 。其实和上面的一样的效果。意思就是满足条件,则运行循环体。
- Do While True
- TracePrint "正在循环,这是循环体。"
- Loop
复制代码
直接这样套,是没什么问题的,效果也是一样的。不过有个好处,就是可以途中终止。
- Do While True
- TracePrint "正在循环,这是循环体。"
- Exit Do
- Loop
复制代码
循环到 Exit Do 的时候退出do循环。实际上这个和Exit for用法是一样的。所以说,do While比While循环有更多的优势。
Do Until:这个跟do while正好相反。这个的意思是条件成立则退出循环。
- Do Until True
- TracePrint "正在循环,这是循环体。"
- Loop
复制代码
这样的话,根本不会执行循环体。
- Do Until False
- TracePrint "正在循环,这是循环体。"
- Exit Do
- Loop
复制代码
这样反倒是执行了。当然了,Exit Do 同样有效。
Do …loop while:这个循环,是先循环一次,然后再判断条件结果。结果为真则继续循环。
- Do
- TracePrint "正在循环,这是循环体。"
- Loop While False
复制代码
可以看到,虽然值是假,但是还是执行过一次循环体的。
这个有什么用呢?我们做一个小题目:按键:如果用户按了”A”键,那么提示按键正确,停止脚本。如果其他按键,那么提示按键错误,重新输入。让用户重新按键。
先来分析一下,我们需要用户先按一次键,然后才判断是否按键正确。所以我们这儿的循环体是等待用户按键,并且把这个按键码存在变量里面。
变量名 = WaitKey()
循环体有了,我们该怎么选择循环语句呢?因为是需要先让用户按键一次。所以,应该是用do …loop while。条件是 变量名<>65 ,意思是用户按的按键不是65(A键)。
- Dim 变量名
- TracePrint “请按键”
- Do
- 变量名 = WaitKey()
- Loop While 变量名 咦,你是不是发现错误的时候的提示找不到地方放啊?放在 变量名 = WaitKey() 前边吧,一开始运行的时候就出来一个错误提示,放在后面吧,按键完,还没开始判断又是一个提示。题目要求的是,判断循环条件的时候,如果正确就提示按键正确停止脚本,如果错误就提示错误重新输入。我们可以写一个函数,如果正确就提示按键正确并且返回值0,如果错误就提示错误,并返回值0。调用这个函数作为条件,我们就实现了在判断的同时,提示用户是否正确输入。
- 65
- TracePrint "按键正确"
复制代码
do …loop Until。
do …loop Until和do …loop while也是差不多。只不过这儿的条件是成立则跳出循环而已。也就是说,如果用do …loop Until的话,只需要改下条件。
- TracePrint "请按键"
- Do
- 变量名 = WaitKey()
- Loop While 判断按键是否正确(变量名)
- Function 判断按键是否正确(变量名)
- If 变量名 这样而已。
- 大家可以试着把上面题目的do …loop while循环改成do …loop Until。
- 我们来做一些这样的循环,同样的如循环找色。
- 65 Then
- TracePrint "按键错误,请重新输入"
- 判断按键是否正确=1
- Else
- TracePrint "按键正确"
- 判断按键是否正确=0
- End If
- End Function
复制代码
看得懂这个代码么?你是不是想问,为什么要搞个函数这么麻烦的事情?直接找色不就完了吗?遇到很多朋友,可以写到上万条代码。实际上,很多代码都重复出现。让脚本可读性非常差。到最后,自己去看都能把自己弄晕。希望看我帖子的同学,可以用这样的方法优化自己的脚本。 这一章就说到这儿,一样的,不懂的地方回复,小妖会解答的。当然了,如果小妖也不懂呢,小妖会找真正的大神。
请先 后发表评论~