1. //坐标变量:
  2. dim x,x1,x2,xx,px
  3. //时间变量:
  4. dim t,t1,t2,tt,dt
  5. //初始化变量:
  6. i=1:tt=0:xx=0
  7. //循环及按键的延时设置,请根据电脑及网络情况自行调整:
  8. dt=2
  9. //响一下,提示脚本开始运行:
  10. 响一声
  11. 标记 测节拍速度
  12. //循环防卡延时:
  13. 延时8*dt毫秒
  14. //第一次测小圆珠的位置:
  15. 调用外部VBScript子程序 在屏幕区域里查找颜色(400,365,540,370,"520000",x1,y1)
  16. 如果表达式 (x1>0) 为真,则
  17.     //记录从系统启动到现在的毫秒数:
  18.     调用插件命令 t1=Sys.GetTime()
  19.     延时512毫秒
  20.     //第二次测小圆珠的位置:
  21.     调用外部VBScript子程序 在屏幕区域里查找颜色(400,365,540,370,"520000",x1,y1)
  22.     如果表达式 (x2>x1) 为真,则
  23.         //再次记录从系统启动到现在的毫秒数:
  24.         调用插件命令 t2=Sys.GetTime()
  25.         //计算两次测量的时间差,并累加:
  26.         tt=tt+t2-t1
  27.         //计算两次测量的坐标差差,并累加:
  28.         xx=xx+x2-x1
  29.         i=i+1
  30.         //循环测5次以减小误差:
  31.         如果表达式 (i=5) 为真,则
  32.             //算出不同节拍下小球的移动速度()
  33.             t=tt/xx
  34.             //根据歌曲速度调整P点位置:
  35.             如果表达式 (t>20) 为真,则
  36.                 //在70-90之间:
  37.                 px=502
  38.             否则如果(t>16 and t<=20)为真,则
  39.                 //在90-110之间:
  40.                 px=501.5
  41.             否则如果(t>14 and t<=16)为真,则
  42.                 //在110-130之间:
  43.                 px=501
  44.             否则如果(t>12 and t<=14)为真,则
  45.                 //在130-150之间:
  46.                 px=500.5
  47.             否则如果(t>11 and t<=12)为真,则
  48.                 //在150-160之间:
  49.                 px=500
  50.             否则如果(t>10 and t<=11)为真,则
  51.                 //在160-170之间:
  52.                 px=499.5
  53.             否则如果(t>9.5 and t<=10)为真,则
  54.                 //在170-180之间:
  55.                 px=499
  56.             否则
  57.                 //在180-190之间:
  58.                 px=498.5
  59.             条件结束
  60.             跳转到标记 开始
  61.         条件结束
  62.         跳转到标记 测节拍速度
  63.     条件结束
  64. 条件结束
  65. 跳转到标记 测节拍速度
  66. 标记 按空格
  67. //循环防卡延时:
  68. 延时8*dt毫秒
  69. //检测小球位置:
  70. 调用外部VBScript子程序 在屏幕区域里查找颜色(400,365,540,370,"520000",x1,y1)
  71. 如果表达式 (x>0 and x<px) 为真,则
  72.     //没到P点,延时等待小球到达设定的P点处
  73.     延时(px-x)*t毫秒
  74.     按键<Space>
  75.     //延时等待小球滚完剩余路程:
  76.     延时40*t毫秒
  77.     跳转到标记 开始
  78. 否则如果(x>=px)为真,则
  79.     //已到或超过设定的P点,直接按空格:
  80.     按键<Space>
  81.     延时40*t毫秒
  82.     跳转到标记 开始
  83. 否则
  84.     跳转到标记 按空格
  85. 条件结束
  86. 标记 开始
  87. //循环防卡延时:
  88. 延时8*dt毫秒
  89. //单数箭头
  90. 如果 (399,391) 的颜色大约等于 #ef0000 则
  91.     如果 (399,404) 的颜色大约等于 #ffffff 则
  92.         如果 (263,404) 的颜色大约等于 #ffffff 则
  93.             s=9:k=0
  94.             跳转到标记 按箭头
  95.         条件结束
  96.         如果 (297,404) 的颜色大约等于 #ffffff 则
  97.             s=7:k=34
  98.             跳转到标记 按箭头
  99.         条件结束
  100.         如果 (331,404) 的颜色大约等于 #ffffff 则