按键精灵怎么随机生成1到12数字并且不重复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按键精灵怎么随机生成1到12数字并且不重复相关的知识,希望对你有一定的参考价值。
按键精灵怎么随机生成1到12数字并且不重复?
一个游戏里有12个技能,怎么让每次随机使用技能不重复并且都能使用完?
Dim n, i, m, Result
'初始化数组
For i = 0 To 11
RndNum(i) = 0
Next
'生成1-12随机数
n = 0
Randomize
RndNum(0) = Int(12 * Rnd + 1)
While n < 11
Result = 0 '随机数重复标志,0表示不重复,1表示重复
Randomize
m = Int(12 * Rnd + 1)
'For循环判断生成随机数是否和前面重复
For i = 0 To n
If m = RndNum(i) Then
Result = 1
End If
Next
If Result = 0 Then
n = n + 1
RndNum(n) = m
End If
Wend
'数组RndNum存放结果,下面这一句是查看结果的
MessageBox Join(RndNum, "|")追问
谢谢大神,还有想问下,每次随机得到的数字怎么按顺序按下键盘按键
追答你这里说的“键盘按键”不清楚,1-9可以按键,但是10,11,12怎么按?
追问简单的说,就是“键盘随机按键+不重复”
我写到这里就不会写了
Sub 随机技能
dim key(12),i
key(0) = 96
key(1) = 97
key(2) = 98
key(3) = 99
key(4) = 100
key(5) = 101
key(6) = 102
key(7) = 103
key(8) = 104
key(9) = 105
key(10) = 107
key(11) = 109
Randomize
i=int((12)*rnd)
KeyPress key(i), 1
End Sub
用按键精灵如何巧妙获取时间间隔?
还在苦苦守着电脑,心急如焚看着血条越来越少,等着技能CD冷却然后放大招嘛……
想不想浪漫一把,博得基 友欢心,从此只爱你一人?
是不是想说,有DateDiff可以获取时间间隔嘛~~
小编今天给大家带来的,可不是这么简单的命令哦~
要么牛哄哄,要么软趴趴!
调取系统底层API
GetTickCount函数介绍:
GetTickCount返回(retrieve)从操作系统启动所经过(elapsed)的毫秒数,它的返回值是DWORD。
函数声明:
Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
函数范例:计算当前时间和5秒后的时间差
// 获取当前时间
TheTime = GetTickCount()
// 延时 5 秒
Delay 5000
// 再次获取当前时间,计算时间差
TracePrint GetTickCount() - TheTime
运行结果:
2014-8-12 18:01 上传
下载附件 (119.7 KB)
获取时间间隔:函数DateDiff与函数GetTickCount()对比
DateDiff只能获取到最小单位为:秒的数值
GetTickCount()可以获取到最小单位为:毫秒的数值
有时候,脚本的成败往往就在毫秒之间!
范例:等图找图大神代码
来看看大神提供的等图找图代码段吧~~
//声明函数GetTickCount
Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
//找出多张图(hsz.bmp、jsj.bmp、ie.bmp)中的其中一张
TracePrint 找多图("hsz.bmp|jsj.bmp|ie.bmp")
//延迟5000ms,等待图(hsz.bmp)
TracePrint 等图_毫秒("hsz.bmp",5000)
//延迟5000ms,等待多张图(hsz.bmp、jsj.bmp、ie.bmp)中的其中一张
TracePrint 等多图_毫秒("hsz.bmp|jsj.bmp|ie.bmp",5000)
Function 找多图_数组(图像列表)
找多图_数组 = 0
For i = 0 To UBound(图像列表)
FindPic 0, 0, Plugin.Sys.GetScRX - 1, Plugin.Sys.GetScRY - 1, "Attachment:\\" & 图像列表(i), 1, intX, intY
If IntX >= 0 Then
找多图_数组 = i + 1
Exit For
End If
Next
End Function
Function 找多图(图像)
找多图 = 找多图_数组(split(图像,"|"))
End Function
Function 等图_毫秒(图片, 超时时间)// 利用两次 GetTickCount() 得到时间间隔(单位:毫秒)
等图_毫秒 = TRUE
开始时间 = GetTickCount()
Do
If GetTickCount() - 开始时间 > 超时时间 Then 等图_毫秒 = FALSE:Exit Do
FindPic 0, 0, Plugin.Sys.GetScRX - 1, Plugin.Sys.GetScRY - 1, "Attachment:\\" & 图片, 1, intX, intY
Loop Until IntX >= 0
End Function
Function 等多图_毫秒(图片, 超时时间)// 利用两次 GetTickCount() 得到时间间隔(单位:毫秒)
开始时间 = GetTickCount()
Do
If GetTickCount() - 开始时间 > 超时时间 Then Exit Do
等多图_毫秒 = 找多图(图片)
Loop Until 等多图_毫秒
End Function
运行结果:
For i = 1 to 100
Delay i
Next
运行耗时 = Plugin.Sys.GetTime() - 记录时间
TracePrint "本次代码运行耗时(以此精确记录运行时间间隔):" & 运行耗时
'制作:法科
'时间:2017-06-15 参考技术B 按键精灵如何设置时间间隔
按键精灵可以模拟鼠标和键盘的动作,通过按键精灵制作脚本,可以在一定程度上可以解放我们的双手,那么按键精灵怎样设置时间间隔呢?现在就为大家介绍一下,如何输入时间间隔
操作方法
01
打开或者新建一个脚本,点击左侧的【其他命令】

02
就可以看到设置时间的地方,就是【延时】

03
点击第一个下拉菜单,就可以选择时间的单位,有【秒】和【毫秒】两种

04
后面的时间,可以输入间隔的数值

05
然后点击后面的【插入】

06
就可以看到命令已经被插入了,注意:在脚本中,所有的时间单位都是【毫秒】,即使你插入的时候单位选择的是秒,按键精灵也会转为毫秒

07
还有一种更加简便的方法,点击【源文件】
可以看到刚才的语句被转化为了【Delay 100000】,并且可以用键盘输入语句了
所以,直接输入【Delay+时间】就可以设置时间间隔了,
注意时间单位是毫秒

望采纳! 参考技术C 设置开关热键
以上是关于按键精灵怎么随机生成1到12数字并且不重复的主要内容,如果未能解决你的问题,请参考以下文章
安卓按键精灵脚本。求大神制作一个安卓按键精灵点击屏幕的脚本。就是触摸一个位置后自动重复点击屏幕那个
按键精灵如果我要让他的一个脚本循环3次后,再执行下一个脚本,然这一整个不断循环,怎么弄?