Random 只生成一个数字,而不是多次生成0到2之间的数字

Random 只生成一个数字,而不是多次生成0到2之间的数字,random,vbscript,numbers,key,Random,Vbscript,Numbers,Key,好的,我准备制作一个简洁的程序,让你的数字锁、大写锁和滚动锁键闪烁。我的问题是,当我运行它时,它只产生一个数字,而不是多个不同的数字,你知道问题是什么吗 Set Keys = WScript.CreateObject("WScript.Shell") 'So The Script Can Press keys Dim MAX, MIN 'Declaration MAX = 2 'Sets MAX Equal To 2 MIN = 0 'Sets MIN Equal To 0 Randomize

好的,我准备制作一个简洁的程序,让你的数字锁、大写锁和滚动锁键闪烁。我的问题是,当我运行它时,它只产生一个数字,而不是多个不同的数字,你知道问题是什么吗

Set Keys = WScript.CreateObject("WScript.Shell") 'So The Script Can Press keys
Dim MAX, MIN 'Declaration
MAX = 2 'Sets MAX Equal To 2
MIN = 0 'Sets MIN Equal To 0
Randomize 'So The Numbers Are Different All The Time

Number = (Int((MAX-MIN+1)*Rnd+MIN)) 'Assigns The Random number To A Variable
Do Until X = 10 'Does The Loop 10 Times
Select Case Number
    Case 0 'If Number = 0 Then The Following happens
        WScript.Sleep 500 'Stops The Script For 500 Milliseconds
        Keys.SendKeys("{NUMLOCK}") 'Pushes The Number Lock
    Case 1 'If Number = 1Then The Following happens
        WScript.Sleep 500 'Stops The Script For 500 Milliseconds
        Keys.SendKeys("{CAPSLOCK}") 'Pushes The Caps Lock
    Case 2 'If Number = 2 Then The Following happens
        WScript.Sleep 500 'Stops The Script For 500 Milliseconds
        Keys.SendKeys("{SCROLLLOCK}") 'Pushes The Scroll Lock
End Select
X = X + 1 'Increment
Loop

发布评论作为答案


首先,你可能想把你的方程放在循环中,这样它在每次循环后都会重新生成随机数。

将注释作为答案发布


首先,您可能希望将方程式放入循环中,以便在每次循环后重新生成随机数。

您需要在循环中创建随机数

Do Until X = 10 'Does The Loop 10 Times
  Number = (Int((MAX-MIN+1)*Rnd+MIN)) 'Assigns The Random number To A Variable
  Select Case Number

您需要在循环中创建随机数

Do Until X = 10 'Does The Loop 10 Times
  Number = (Int((MAX-MIN+1)*Rnd+MIN)) 'Assigns The Random number To A Variable
  Select Case Number

首先,你可能想把你的方程放在循环中,这样每次循环后它都会重新生成随机数。哇,我真不敢相信我错过了。谢谢,它现在起作用了。好吧,首先,你可能想把你的方程放在循环中,这样每次循环后它都会重新生成随机数。哇,我真不敢相信我错过了。谢谢,现在开始工作了。真的吗,艾克哈德?好啊我明白了。真的吗,艾克哈德?好啊我明白了。smh。