VBScript如何测量其睡眠时间?

VBScript如何测量其睡眠时间?,vbscript,Vbscript,所以为了好玩,我决定写一个vbs来为我玩蛇游戏!唯一的问题是,每次它运行循环时,运行的方式都不同 set WshShell = WScript.CreateObject("WScript.Shell") WScript.Sleep(3000) WshShell.SendKeys "{up}" WshShell.SendKeys "{right}" WScript.Sleep(770) DIM REP REP = 0 DO WHILE REP < 3 WshShell.SendKeys "

所以为了好玩,我决定写一个vbs来为我玩蛇游戏!唯一的问题是,每次它运行循环时,运行的方式都不同

set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep(3000)
WshShell.SendKeys "{up}"
WshShell.SendKeys "{right}"
WScript.Sleep(770)
DIM REP
REP = 0
DO WHILE REP < 3

WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{LEFT}"
 WScript.Sleep(770)
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{Right}"
 WScript.Sleep(770)
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{LEFT}"
WScript.Sleep(770)
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{Right}"
 WScript.Sleep(770)
WshShell.SendKeys "{DOWN}"
WshShell.SendKeys "{LEFT}"
 WScript.Sleep(860)
WshShell.SendKeys "{UP}"
 WScript.Sleep(400)
WshShell.SendKeys "{RIGHT}"
WScript.Sleep(800)
REP = REP + 1
LOOP
set WshShell=WScript.CreateObject(“WScript.Shell”)
WScript.Sleep(3000)
WshShell.SendKeys“{up}”
WshShell.SendKeys“{right}”
WScript.Sleep(770)
暗号
代表=0
当REP<3时执行此操作
WshShell.SendKeys“{DOWN}”
WshShell.SendKeys“{LEFT}”
WScript.Sleep(770)
WshShell.SendKeys“{DOWN}”
WshShell.SendKeys“{Right}”
WScript.Sleep(770)
WshShell.SendKeys“{DOWN}”
WshShell.SendKeys“{LEFT}”
WScript.Sleep(770)
WshShell.SendKeys“{DOWN}”
WshShell.SendKeys“{Right}”
WScript.Sleep(770)
WshShell.SendKeys“{DOWN}”
WshShell.SendKeys“{LEFT}”
WScript.Sleep(860)
WshShell.SendKeys“{UP}”
WScript.Sleep(400)
WshShell.SendKeys“{RIGHT}”
WScript.Sleep(800)
REP=REP+1
环

我的代码看起来像这样,但我的问题是计时是如何工作的?比如为什么第二个回路在运行时会撞到墙上?或者,如果它成功了,有时它成功了,它会在第三个循环中崩溃,以此类推。为什么会这样?

据我所知,VB脚本的计时单位是毫秒。你提到第二个环路撞到了墙上?我只看到一个环

从我所看到的按键之间的计时是0(按键之间没有停顿),如果我正确地记得游戏中的蛇,你只能分别向上、向下、向左和向右移动

循环中的按键似乎在创建对角线?(例如:向下,向下,因为按键之间没有“时间”)也许这才是真正的问题?尝试在按键之间添加睡眠,看看这是否解决了问题