EndIf
Return
//当角色处在地图边界时,修正其位置。
Sub ComeBack
VBSCall FindCenterColor(670,20,798,149,"00FF00",x,y)
If x>0 and y>0
VBS nx=Abs(x-PosA(0))
VBS ny=Abs(y-PosA(1))
If nx>2 or ny>2
x=x-PosA(0)
y=y-PosA(1)
If x<0
mx=100
Else
mx=-100
EndIf
T=-1
my=mx*y/x*T
If my>120
my=90
ElseIf my<-100
my=-90
EndIf
xb=mx+PosB(0)
yb=my+PosB(1)
MoveTo xb yb
Delay 400
LeftClick 1
Delay 400
EndIf
EndIf
Return
//扫描坐标文字
Sub Scan
VBS Dim ScanH(8)
VBS Dim Num(5,8)
VBS Num(0,0)=1:Num(0,1)=0:Num(0,2)=0:Num(0,3)=0:Num(0,4)=0:Num(0,5)=0:Num(0,6)=0:Num(0,7)=1
VBS Num(1,0)=1:Num(1,1)=1:Num(1,2)=1:Num(1,3)=1:Num(1,4)=1:Num(1,5)=1:Num(1,6)=1:Num(1,7)=1
VBS Num(2,0)=0:Num(2,1)=1:Num(2,2)=0:Num(2,3)=0:Num(2,4)=0:Num(2,5)=1:Num(2,6)=0:Num(2,7)=0
VBS Num(3,0)=1:Num(3,1)=0:Num(3,2)=0:Num(3,3)=1:Num(3,4)=1:Num(3,5)=1:Num(3,6)=1:Num(3,7)=1
VBS Num(4,0)=0:Num(4,0)=0:Num(4,2)=0:Num(4,3)=0:Num(4,4)=0:Num(4,5)=0:Num(4,6)=0:Num(4,7)=0
VBS Dim ScanL(4)
VBS Dim NumL(4,5)
VBS NumL(0,0)=0:NumL(0,1)=0:NumL(0,2)=0:NumL(0,3)=1:NumL(0,4)=0
VBS NumL(1,0)=1:NumL(1,1)=0:NumL(1,2)=0:NumL(1,3)=0:NumL(1,4)=1
VBS NumL(2,0)=0:NumL(2,1)=1:NumL(2,2)=1:NumL(2,3)=1:NumL(2,4)=0
VBS NumL(3,0)=0:NumL(3,1)=0:NumL(3,2)=1:NumL(3,3)=1:NumL(3,4)=0
//取值
my=0
While my<8
VBSCall rel=GetPixelColor(x,6+my)
If rel="080C08"
ScanH(my)=0
ElseIf rel="94FFFF"
ScanH(my)=1
Else
VBSCall MessageBox("出错:纵向扫描取值非预期rel="+rel)
EndIf
my=my+1
EndWhile
//判断
N=0
While N<5
i=0
While i<8
If ScanH(i)<>Num(N,i)
//一有不对马上跳出
i=100
Else
//全中
If i=7
TheNum=N
N=100
EndIf
EndIf
i=i+1
EndWhile
N=N+1
EndWhile
//筛选
If N=101
If TheNum=4 or TheNum=0
Number=0
ElseIf TheNum=1
Number=1
ElseIf TheNum=2
Number=4
ElseIf TheNum=3
Number=7
EndIf
Else
//尚未能确认
//再进行横向扫描
//取值
mx=0
While mx<5
VBSCall rel=GetPixelColor(x-2+mx,9)
If rel="080C08"
ScanL(mx)=0
ElseIf rel="94FFFF"