有时候,我们可能希望脚本可以随机化一点,表现的能像是真人在操作,而不要太机械,比如循环点击一个点的时候,能够每次点击的位置能稍微变化一点,这个时候可以试用lua的math.random()函数,这个比如如下代码:
随机的时候必须有一个种子.否则每次随机都会是一样的.
math.randomseed(tostring(os.time()):sub(5):reverse()); -- 随机种子
math.random(-5, 5);
每次都可以返回-5到5之间随机的一个数,那么我们可以将点击操作写一个函数:
function click(x, y)
touch.down(0, x + math.random(-5, 5), y + math.random(-5, 5));
sys.sleep(math.random(1000, 2000));
touch.up(0);
end
然后在需要点击时之间调用这个函数,比如找图时:
x, y = screen.findImage("/var/touchelf/a.png");
if x ~= -1 and y ~= -1 then
click(x, y);
end
这样每次循环点击的位置都是有小幅变化的,而不是每次都是点击一个点。
自定义字符串随机:
function randomStr(str, num)
local reStr ='';
math.randomseed(tostring(os.time()):sub(5):reverse());
for i = 1, num do
local getStr = math.random(1, string.len(str));
reStr = reStr .. string.sub(str, getStr, getStr);
end
return reStr;
end
--用法
s = randomStr("abcdefghijklmnopqrstuvwxyz", 10) --生成10位随机字母