- 定义常量 forreading = 1
- 定义常量 forwriting = 2
- 定义常量 forappending = 8
- 定义常量 ParaGrayLevel = 70
- 注释:灰度:黑底 则 >ParaGrayLevel 为1 小于为0
- 注释:灰度:白底 则 <ParaGrayLevel 为1 大于为0
- 注释:灰度:白底时,此值应设大些,比如200
- 注释:Dim GA( 4, 10 )
- (语句无法识别,可能有错误): Dim GA( 20, 20 ) // 英雄无敌中,一个数字为4*9
- 定义变量 MyArray, Rx, Ry
- 注释:单点调试用
- 注释:Rx = GetPosNum( "981,6", 4, 9 )
- 注释:MessageBox Rx
- 注释:
- 令 Rx = GetPosNum("939,6",4,9) & GetPosNum("945,6",4,9) & GetPosNum("951,6",4,9)
- 令 Ry = GetPosNum("969,6",4,9) & GetPosNum("975,6",4,9) & GetPosNum("981,6",4,9)
- 弹出窗口 Rx & "," & Ry
- 函数 GetPosNum(XYbegin,MyXStep,MyYStep)
- 注释:XYbegin=数字的左上角坐标 (游戏屏幕坐标)
- 注释:MyXStep=X轴步长
- 注释:MyYStep=Y轴步长
- 定义变量 MyArray
- 定义变量 Rx, Ry, Num
- 定义变量 Rs
- 令 GetPosNum = - 1
- 注释:数组溢出判断
- 如果 MyXStep > 10 或者 MyXStep < 1 则
- 如果 MyXStep > 10 或者 MyXStep < 1 则
- 如果 InStr(XYbegin,",") = 0 则
- 跳转到标记 EndOfGetPosNum(函数 GetPosNum)
- 条件结束
- 条件结束
- 条件结束
- 注释:初始化数组
- 循环 i 从 1 到 MyXStep + 10
- 循环 j 从 1 到 MyYStep + 10
- 令 GA(i,j) = - 1
- 循环结束
- 循环结束
- 注释:建立灰度表
- 令 MyArray = Split(XYbegin,",")
- 令 Rx = CInt(MyArray(0))
- 令 Ry = CInt(MyArray(1))
- 循环 i 从 1 到 MyXStep
- 循环 j 从 1 到 MyYStep
- 令 Rs = 得到指定点 (Rx + i - 1, Ry + j - 1) 的颜色
- 如果 GetRedOfRGB(Rs) > ParaGrayLevel 则
- 注释:白底则用 < ParaGrayLevel
- 令 GA(i,j) = 1
- 否则
- 令 GA(i,j) = 0
- 条件结束
- 循环结束
- 循环结束
- 令 str = ""
- 循环 j 从 1 到 9
- 循环 i 从 1 到 4
- 令 Str = Str & GA(i,j) & "|"
- 循环结束
- 令 Str = Str & vbCrlf
- 循环结束
- 注释:调用GetNum判断是数字0--9中的哪个
- 令 Num = GetNum(MyXStep,MyYStep)
- 令 GetPosNum = Num
- 注释:返回值格式为: 指定区域翻译过来的数字0--9
- 标记 EndOfGetPosNum(函数 GetPosNum)
- 注释:调试找特征用
- 注释:MessageBox Str&Num
- 函数结束
- 函数 GetNum(MyXStep,MyYStep)
- 注释:对全局变量ParaGrayLevel进行特征比对
- 定义变量 parallel
- 注释:初始化返回值,-1为未找到匹配的特征
- 令 GetNum = - 1
- 注释:进行特征判断,分别是0--9共10个数字
- 循环 parallel 从 1 到 10
- 注释:原本只需用指定位置进行对比就可以
- 注释:这里用相对移动的判断,
- 注释:是为了图形数字识别作准备
- 循环 i 从 1 到 MyXStep
- 循环 j 从 1 到 MyYStep
- 注释:2*5的空洞,为0
- 令 Fs = "" & GA(i,j) & GA(i + 1,j)
- 令 Fs = Fs & GA(i,j + 1) & GA(i + 1,j + 1)
- 令 Fs = Fs & GA(i,j + 2) & GA(i + 1,j + 2)
- 令 Fs = Fs & GA(i,j + 3) & GA(i + 1,j + 3)
- 令 Fs = Fs & GA(i,j + 4) & GA(i + 1,j + 4)
- 如果 Fs = "0000000000" 则
- 令 GetNum = 0
- 跳转到标记 EndOfGetNum(函数 GetNum)
- 条件结束
- 循环结束
- 循环结束
- 循环 i 从 1 到 MyXStep
- 循环 j 从 1 到 MyYStep
- 注释: 9 的下半部分特征,空处为0/1
- 注释: 11
- 注释: 0 1
- 注释: 1
- 注释: 11