按键精灵怎么随机按下键盘按键并且不重复
按键精灵怎么随机按下键盘按键并且不重复?就是在游戏里,游戏有技能键ABCDE...等等。我想要按键经历实现自动按下键盘这几个键,随机按下,不重复。不重复,不重复代码我只写...
按键精灵怎么随机按下键盘按键并且不重复?
就是在游戏里,游戏有技能键ABCDE...等等。
我想要按键经历实现自动按下键盘这几个键,随机按下,不重复。不重复,不重复
代码我只写到这里,主要是不懂弄判断重复语句,有大神能说说吗?
或者有更好方案也可以说说。
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 展开
就是在游戏里,游戏有技能键ABCDE...等等。
我想要按键经历实现自动按下键盘这几个键,随机按下,不重复。不重复,不重复
代码我只写到这里,主要是不懂弄判断重复语句,有大神能说说吗?
或者有更好方案也可以说说。
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 展开
1个回答
展开全部
你这里提到的“自动按下键盘这几个键”,是不是按顺序依次按下,我就当依次按下处理。
Dim RndNum(11)
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)
'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
'把随机数转换成按键
For i = 0 To 11
'MessageBox RndNum(i)
If RndNum(i) = 10 Then
RndNum(i) = 107
ElseIf RndNum(i) = 11 Then
RndNum(i) = 109
Else
RndNum(i) = RndNum(i) + 96
End If
Next
'数组RndNum存放结果,下面这一句是查看按键ASCII码的
MessageBox Join(RndNum, "|")
'依次按键
For i = 0 To 11
KeyPress RndNum(i), 1
Next
下面是用记事本测试四次的结果:
要想学好编程,首先要学算法,你这里做不出来,很明显是算法不会。
追问
谢谢大佬指导,确实,我只看了几天基础教程,没看到那么深入。才刚看到数组,会用数组随机一串号码,但不会让这串号码按下键盘,您真的帮大忙了。谢谢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询