Delay 1000
Delay 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下下一关了!!!!!!!!!
Plugin hwnd=Window.MousePoint()
//获得窗口左上角的位置和窗口的大小
Plugin rect=Window.GetClientRect(hwnd)
If InStrRev(rect,"550|400")=0
    MessageBox "请将鼠标放在游戏窗口内在启动游戏"
    EndScript 
EndIf 
//获得窗口左上角的坐标,并将坐标作为参考坐标
dw=Split(rect,"|"):dwx=dw(0):dwy=dw(1)
//设置宝石颜色和开始(下一关)的颜色
ys=array("1A85CD","AD2D2D","C0C064","3333CC","2EC7C7","7C20B9","FFFFFF")
//设置一个变量用来控制点开始的次数
ks=0
//无限循环找色
While true
    i=0
    //6种颜色+开始(下一关)按钮的颜色等于7种颜色,循环寻找下这7个色
    For 7
        //以中点向四周找色找到定义的颜色
        VBSCall FindCenterColor(dwx+21,dwy+87,dwx+529,dwy+384,ys(i),x,y)
        If x>0 and y>0
            //判断找到的这个色是否是白色(开始(下一关))的颜色
            If ys(i)="FFFFFF"
                // 判断这个颜色是否大于等于10
                If ks>=10
                    //等于10的话也就是第十关结束了,可以结束游戏了
                    MessageBox "游戏全通关"
                    EndScript 
                EndIf 
                //不等于10还没到第10关,也就是将到下一关。我们将变量加大1
                ks=ks+1
            EndIf 
            //点击刚才找到的颜色
            MoveTo x,y
            LeftClick 1
        EndIf 
        //减缓CPU的计算降低CPU用量,根据自己电脑CPU设置。
        Delay 1
        i=i+1
    EndFor 
EndWhile