「按键精灵安卓版」脚本怎么才能用好随机数这个功能

「按键精灵安卓版」脚本怎么才能用好随机数这个功能

首页角色扮演代号精灵更新时间:2024-05-01

大家好,我是公众号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