- 延时1000毫秒
- 延时1000毫秒
- //分析:宝石出现的时候点击宝石。宝石全点完的时候会出现下一关,点击下一关
- //根据以上两点可以看出出现下一关或宝石的时候都要点击它们。
- //那么我们如何获得我们要点击的坐标??
- //由于宝石不变色(全部6种宝石)所以我们可以通过抓色获得这6种宝石独有的颜色。
- //获得6个宝石的颜色后。我们在获得开始键和下一关键上特有的颜色。
- //用ARRAY将获得的颜色定义成一个数组。这样方便调用
- //ys=array("1A85CD","AD2D2D","C0C064","3333CC","2EC7C7","7C20B9","FFFFFF")
- //获得7种颜色后。我们通过找色命令可以找到这个7个色的坐标。不管找到什么色都是点一下。
- // While true
- // i=0
- // For 7
- // VBSCall FindCenterColor(dwx+21,dwy+87,dwx+529,dwy+384,ys(i),x,y)
- // If x>0 and y>0
- // MoveTo x,y
- // LeftClick 1
- // EndIf
- // Delay 1
- // i=i+1
- // EndFor
- //EndWhile
- //这样的话脚本会一直点。但不会停止。我们在做一个停止开关。开关做在那里呢??游戏共10关开始游戏要点一下开始。每过一关要点一下下一关。如果我们不想他第十关点掉分数的话我们不把第十关的点算下去。开始要点开始和1-9关要点下一关,1(开始)+9(9关)=10(下)
- //所以我们可以设置个开关一旦这个开关达到10次的时候我们就结束脚本
- //ks=0
- //If ks>=10
- // MessageBox "游戏全通关"
- // EndScript
- //EndIf
- //开始ks=0,当KS达到10的时候也就是点了1下开始和9下下一关了!!!!!!!!!
- 调用插件命令 hwnd=Window.MousePoint()
- //获得窗口左上角的位置和窗口的大小
- 调用插件命令 rect=Window.GetClientRect(hwnd)
- 如果表达式 (InStrRev(rect,"550|400")=0) 为真,则
- 弹出窗口 "请将鼠标放在游戏窗口内在启动游戏"
- 脚本停止运行
- 条件结束
- //获得窗口左上角的坐标,并将坐标作为参考坐标
- dw=Split(rect,"|"):dwx=dw(0):dwy=dw(1)
- //设置宝石颜色和开始(下一关)的颜色
- ys=array("1A85CD","AD2D2D","C0C064","3333CC","2EC7C7","7C20B9","FFFFFF")
- //设置一个变量用来控制点开始的次数
- ks=0
- //无限循环找色
- 如果表达式 (true) 为真,则循环执行
- i=0
- //6种颜色+开始(下一关)按钮的颜色等于7种颜色,循环寻找下这7个色
- 循环 7 遍
- //以中点向四周找色找到定义的颜色
- 调用外部VBScript子程序 在区域里从中间开始找颜色(dwx+21,dwy+87,dwx+529,dwy+384,ys(i),x,y)
- 如果表达式 (x>0 and y>0) 为真,则
- //判断找到的这个色是否是白色(开始(下一关))的颜色
- 如果表达式 (ys(i)="FFFFFF") 为真,则
- // 判断这个颜色是否大于等于10
- 如果表达式 (ks>=10) 为真,则
- //等于10的话也就是第十关结束了,可以结束游戏了
- 弹出窗口 "游戏全通关"
- 脚本停止运行
- 条件结束
- //不等于10还没到第10关,也就是将到下一关。我们将变量加大1
- ks=ks+1
- 条件结束
- //点击刚才找到的颜色
- 鼠标移到 x , y
- 左键单击
- 条件结束
- //减缓CPU的计算降低CPU用量,根据自己电脑CPU设置。
- 延时1毫秒
- i=i+1
- 循环结束
- 循环结束