大家好,我是公众号3分钟学堂的郭立员,今天继续按键精灵安卓版教程的讲解,这一期说一下脚本中随机数这个功能。
随机操作可以想到的有很多,比如说随机时间、随机字符、随机点击坐标、随机读取文本,随机话术、随机滑动等等。
虽然种类很多,但是核心只有一个就是“随机数”。所有随机操作都是基于随机数演变而来的。
那么在讲随机操作之前,我们先来把随机数讲明白了。
(一)随机数的介绍:
初学按键随机数时会有这样一个公式:(官方例子有错误,这么多年都没改过来)
随机数=Int((最大值-最小值 1)*Rnd() 最小值)
我们每次使用时都会套用这个公式,比如命令介绍中的获取2到6的随机数,会写成:
dim MyValue = Int(((6-2 1) * rnd()) 2)
当我们仔细分析的时候,会发现起到随机作用的是Rnd( )这个命令,这里我们单独调试输出这个命令,看一下结果。
Rnd( )的范围0-0.99999999999999,最大值无限接近1的。
假如我们用5去乘以Rnd(),那么随机范围就是0到4.99999999999999,最大值非常接近5,(比5小一点点)。
再来说说一下int命令:取整数,比方说:
cint(4.99999999999999)=4
对于小数点后面的数会全部去掉,只保留整数。
我平时在写随机数的时候会在脑子里简单算一下,比如
dim MyValue=Int(((6-2 1)*Rnd()) 2)
6-2 1=5,在代码中我就直接写5,然后就可以简化很多括号。
dim MyValue=Int(5*rnd()) 2
这里面5是随机范围数组的个数,2到6,细数一下就是23456这5个数字。
2是随机数开始的数字。
int(随机个数*rnd()) 起始数字
我们在使用随机数的时候不要不舍得计算啊,像6-2 1这种加减法,直接算出结果啊,至于最大数-最小数 1这个过程在心里想一下就行了。
(二)随机操作的介绍
随机操作是两部分:随机数和数字控制操作。随机数已经讲过了,那么数字控制操作是什么呢?
本身是没有这个概念,这里我就随便起个名,其实就是数字作为命令的重要参数而已。当数字是随机数,自然就会影响到命令操作的随机执行了。
总结一下就是只要命令能用数字作为参数的,都可以随机执行。
下面我用实例演示给大家:为了方便大家查看,代码中的变量我尽量以中文命名。
①随机读取文本:随机数作为行号
dim 随机行号=Int(5*rnd()) 2
TracePrint file.readline("/sdcard/pictures/1.txt",随机行号)
②随机时间:随机数作为delay的参数
dim 随机时间=Int(5*rnd()) 2
Delay 随机时间*1000
考虑到delay参数的单位是毫秒,所以乘以1000变成秒。
③随机点击:随机数作为点击的坐标
dim 随机x=Int(5*rnd()) 2
dim 随机y=Int(5*rnd()) 2
Tap 随机x,随机y
④随机字母:随机数作为字母的位置编号
Dim 字母="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim 随机数=int(52*rnd()) 1
TracePrint mid(字母,随机数,1)
⑤随机多个字母(字符串):循环执行随机字母
Dim 字母="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim 序列=""
For 5
Dim 随机数=int(52*rnd()) 1
序列=序列&mid(字母,随机数,1)
Next
TracePrint 序列
⑥随机读取界面输入框:随机数作为输入框的序号
Dim 随机序号=Int(3*rnd()) 1
TracePrint ReadUIConfig("输入框"&随机序号)
⑦随机数作为数组下标
Dim 数组=array("a","b","c")
Dim 随机下标=int(3*rnd())
TracePrint 数组(随机下标)
⑧随机执行任务:随机数作为判断条件
Dim 随机数=int(3*rnd())
If 随机数 = 0 Then
TracePrint "任务1"
ElseIf 随机数 = 1 Then
TracePrint "任务2"
ElseIf 随机数 = 2 Then
TracePrint "任务3"
End If
条件选择Select Case和这个一样,这里就省略了。
⑨随机滑动:随机数作为滑动坐标的变化值
Dim 随机数=int(10*rnd())
Swipe 200,300,200 随机数,500,1000
swipe这个命令有5个数字参数,每个参数都可以用随机数。
⑩随机不重复,正常随机是不会出现这种情况的,之前写过两篇文章教程了,这里直接放链接,自己看吧
随机数不重复排序(不限个数)
问题解答:如何将0-9随机排列
常见的随机操作就是这些,大家可以想想还有哪些命令是有数字参数的。
比如,mid命令、instr命令、for循环、找图命令还有挺多的,当你想随机的时候,只要用随机数替换命令中的数字参数就可以实现随机操作了。
关于随机操作大家活学活用,只要和数字能够沾边的基本都可以随机。
内容就这些,喜欢的朋友可以留言、点赞。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved