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