//坐标变量: dim x,x1,x2,xx,px //时间变量: dim t,t1,t2,tt,dt //初始化变量: i=1:tt=0:xx=0 //循环及按键的延时设置,请根据电脑及网络情况自行调整: dt=2 //响一下,提示脚本开始运行: Beep Rem 测节拍速度 //循环防卡延时: Delay 8*dt //第一次测小圆珠的位置: VBSCall FindColor(400,365,540,370,"520000",x1,y1) If x1>0 //记录从系统启动到现在的毫秒数: Plugin t1=Sys.GetTime() Delay 512 //第二次测小圆珠的位置: VBSCall FindColor(400,365,540,370,"520000",x2,y2) If x2>x1 //再次记录从系统启动到现在的毫秒数: Plugin t2=Sys.GetTime() //计算两次测量的时间差,并累加: tt=tt+t2-t1 //计算两次测量的坐标差差,并累加: xx=xx+x2-x1 i=i+1 //循环测5次以减小误差: If i=5 //算出不同节拍下小球的移动速度() t=tt/xx //根据歌曲速度调整P点位置: If t>20 //在70-90之间: px=502 ElseIf t>16 and t<=20 //在90-110之间: px=501.5 ElseIf t>14 and t<=16 //在110-130之间: px=501 ElseIf t>12 and t<=14 //在130-150之间: px=500.5 ElseIf t>11 and t<=12 //在150-160之间: px=500 ElseIf t>10 and t<=11 //在160-170之间: px=499.5 ElseIf t>9.5 and t<=10 //在170-180之间: px=499 Else //在180-190之间: px=498.5 EndIf Goto 开始 EndIf Goto 测节拍速度 EndIf EndIf Goto 测节拍速度 Rem 按空格 //循环防卡延时: Delay 8*dt //检测小球位置: VBSCall FindColor(413,366,513,370,"520000",x,y) If x>0 and x<px //没到P点,延时等待小球到达设定的P点处 Delay (px-x)*t KeyPress 32 1 //延时等待小球滚完剩余路程: Delay 40*t Goto 开始 ElseIf x>=px //已到或超过设定的P点,直接按空格: KeyPress 32 1 Delay 40*t Goto 开始 Else Goto 按空格 EndIf Rem 开始 //循环防卡延时: Delay 8*dt //单数箭头 IfColor 399 391 ef0000 2 IfColor 399 404 ffffff 2 IfColor 263 404 ffffff 2 s=9:k=0 Goto 按箭头 EndIf IfColor 297 404 ffffff 2 s=7:k=34 Goto 按箭头 EndIf IfColor 331 404 ffffff 2