|
本帖最后由 sziamchl 于 2014-1-9 00:24 编辑
空间 DNF拍卖行数字识别
//默认空间
//开始按钮_点击操作
功能 开始_点击()
//从上面9个8的图中可以得出,是59乘8的像素区域大小
总金额点阵=数组[59][8] //建立一个二维数,来记录图像区域每一个像素的信息
遍历(i=0;i<59;i++)
遍历(j=0;j<8;j++)
总金额点阵[j]=0
遍历结束
遍历结束 //将数组的每一个值初始为0
遍历(i=0;i<59;i++)
遍历(j=0;j<8;j++)
如果(图像.坐标点取色(i+538,j+132)==#FFB400) //黄色数字颜色值为#FFB400,用AB抓抓可以方便获得
总金额点阵[j]=1 //执行时请先打开拍卖行,搜索某种物品,显示出物品价格
如果结束 //不要拖动拍卖行改变位置
遍历结束
遍历结束 //将每一个像素点取色,对应的位置斌值为1
检测坐标=57 //上面9个8的图中红色这点对应数组下标为57,记得数组下标是从0开始的
//我们从最右边的数字一直往左找
总金额字数=0
总金额=""
循环(总金额点阵[检测坐标][0]==1) //如果为0,则代表后面没有数字了,不用再找下去
//下面判断的方法有很多种,
如果(总金额点阵[检测坐标-2][4]==1) //确定数字是9(表格中B5位置)
总金额="9"&总金额
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标+1][3]==1) //确定数字是0(表格中E4位置)
总金额="0"&总金额 //虽然此位置有可能是0或9,但如果是9,此如果语句不会执行
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标-1][1]==1) //1或4(表格中C2位置)
如果(总金额点阵[检测坐标-1][5]==1) //确定数字是4(表格中C6位置)
总金额="4"&总金额
否则 //确定数字是1
总金额="1"&总金额
检测坐标+=2 //数字1的宽度只有3个像素点,比其它数字5个像素点少2个,所以加2
如果结束
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标-1][6]==1) //确定数字是7(表格中C7位置)
总金额="7"&总金额
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标+1][0]==1) //确定数字是5(表格中E1位置)
总金额="5"&总金额 //虽然此位置有可能是5或7,但如果是7,此如果语句不会执行
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标-3][7]==1) //确定数字是2(表格中A7位置)
总金额="2"&总金额
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标][1]==1) //确定数字是6(表格中D2位置)
总金额="6"&总金额 //虽然有1467,道理同上
跳转 找到数后来这里
如果结束
如果(总金额点阵[检测坐标-2][3]==1) //确定数字是8(表格中B4位置)
总金额="8"&总金额
否则 //最后还有3没找到,只有3这个可能了
总金额="3"&总金额
如果结束
找到数后来这里:
总金额字数+=1 //此变量来记录一共找到多少个数字了
检测坐标-=6 //相连的2个数字,位置相差6个像素点
如果((总金额字数==3)||(总金额字数==6)) //因为每3个或6个数字,有个逗号分隔
检测坐标-=3
如果结束
如果(检测坐标<0) //防止数组下标溢出,少于0代表已经找满9位数字了
跳出
如果结束
循环结束
辅助.消息框("物品总价是:"&总金额)
功能结束
//退出按钮_点击操作
功能 退出_点击()
辅助.退出()
功能结束
空间结束
//空间结束语句
注释已经很祥细了,语句也很简洁,高手匆喷
有兴趣的朋友,可以按此方法,再做一个识别物品数量的功能出来,就可以算出物品的单价了
然后加上各种鼠标功能操作,就可以自己做一个扫拍卖行的脚本出来了。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|