精易论坛

标题: 自动找图并处理一些事儿 [打印本页]

作者: 178826559    时间: 2018-3-22 09:36
标题: 自动找图并处理一些事儿
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
dmdmsoft  
程序集_起点X整数型查找范围
程序集_起点Y整数型查找范围
程序集_屏幕宽度整数型查找范围
程序集_屏幕高度整数型查找范围
程序集_图片路径文本型用来存放图片的路径
程序集_寻找自定义寻找甲0 
程序集_记录甲整数型用来记录当前运行
程序集_循环标记逻辑型进入或跳出循环所用
程序集_按下左X整数型当按下左键时,X移动距离
程序集_按下左Y整数型当按下左键时,X移动距离
程序集_找到图片X点整数型  
程序集_找到图片Y点整数型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  
' 【程序集_寻找】数组的成员如下。
' 1成员图片名【文本型】、2成员处理方式【文本型】、3成员相对X移【整数型】、4成员相对Y移【整数型】、5成员等待毫秒【整数型】、6成员连几图【整数型】
程序集_起点X = 0
程序集_起点Y = 0
程序集_屏幕宽度 = 取屏幕宽度 ()
程序集_屏幕高度 = 取屏幕高度 ()
程序集_图片路径 = 取运行目录 ()“\pic\”
窗口_热键注册 (_启动窗口.取窗口句柄 (), 2, #Q键, &_按钮点鼠_被单击, 1)
子程序名返回值类型公开备 注
子程序初始化程数据 初始化程序集的数据
清除数组 (程序集_寻找)
程序集_记录甲 = 1
程序集_循环标记 = 真
编辑框提示信息区.内容 = “”
子程序名返回值类型公开备 注
_按钮征战_被单击  
变量名类 型静态数组备 注
局部_找图文本型0
计次整数型 
计次连几图整数型 
程序_延时 (1000, 0)
子程序初始化程数据 ()
' 1成员图片名【文本型】、2成员处理方式【文本型】、3成员相对X移【整数型】、4成员相对Y移【整数型】、5成员等待毫秒【整数型】、6成员连几图【整数型】
加入成员 (局部_找图, “征战001.bmp||左单击||18||10||1200||1”)
加入成员 (局部_找图, “征战002.bmp||左单击||30||46||1000||1”)
加入成员 (局部_找图, “征战003.bmp||左单击||16||9||1000||1”)
加入成员 (局部_找图, “征战004.bmp||左单击||16||9||3000||1”)
加入成员 (局部_找图, “征战005.bmp||左单击||18||20||2000||1”)
加入成员 (局部_找图, “征战006.bmp||左单击||30||46||2000||1”)
加入成员 (局部_找图, “征战007.bmp||左单击||8||8||2000||2”)
加入成员 (局部_找图, “征战007-1.bmp||左单击||8||8||2000||1”)
计次循环首 (取数组成员数 (局部_找图), 计次)
子程序添加数组 (局部_找图 [计次])
计次循环尾 ()
输出调试文本 (取数组成员数 (程序集_寻找))
判断循环首 (取数组成员数 (程序集_寻找) ≥ 程序集_记录甲)
编辑框提示信息区.内容 = “找” + 程序集_寻找 [程序集_记录甲].成员图片名 + #换行符 + 编辑框提示信息区.内容
子程序找图一 (程序集_寻找 [程序集_记录甲])
程序集_记录甲 = 程序集_记录甲 + 程序集_寻找 [程序集_记录甲].成员连几图
判断循环尾 ()
计次循环首 (4, 计次)
程序集_记录甲 = 3
判断循环首 (取数组成员数 (程序集_寻找) ≥ 程序集_记录甲)
编辑框提示信息区.内容 = “找” + 程序集_寻找 [程序集_记录甲].成员图片名 + #换行符 + 编辑框提示信息区.内容
子程序找图一 (程序集_寻找 [程序集_记录甲])
程序集_记录甲 = 程序集_记录甲 + 程序集_寻找 [程序集_记录甲].成员连几图
判断循环尾 ()
计次循环尾 ()
程序集_记录甲 = 5
编辑框提示信息区.内容 = “找” + 程序集_寻找 [程序集_记录甲].成员图片名 + #换行符 + 编辑框提示信息区.内容
子程序找图一 (程序集_寻找 [程序集_记录甲])
输出调试文本 (“=====================================”)
编辑框提示信息区.内容 = “找” + 程序集_寻找 [程序集_记录甲].成员图片名 + #换行符 + 编辑框提示信息区.内容
子程序找图一 (程序集_寻找 [程序集_记录甲])
编辑框提示信息区.内容 = “运行完毕!”#换行符 + 编辑框提示信息区.内容
子程序名返回值类型公开备 注
子程序找图一逻辑型 找图最底层。
参数名类 型参考可空数组备 注
参数_找图自定义寻找甲
变量名类 型静态数组备 注
局部_位置文本型 
局部_位置数组文本型0
i整数型 
局部_X移数整数型 
局部_Y移数整数型 
计次整数型 
局部_临时甲整数型用来作为循环进入或退出条件
局部_临时乙整数型用来记录运行了几次,大于某次退出
计次连几图整数型 
局部_临时甲 = 1
判断循环首 (局部_临时甲 = 1)
计次循环首 (程序集_寻找 [程序集_记录甲].成员连几图, 计次连几图)
如果真 (局部_临时乙 = 1)
dm.MoveTo (10, 10)
' 为了消除鼠标挡住图标的情况。
子程序提示信息 (“正在处理” + 参数_找图.成员图片名 + “图片!”)
局部_位置 = dm.FindPicE (程序集_起点X, 程序集_起点Y, 程序集_屏幕宽度, 程序集_屏幕高度, 程序集_图片路径 + 参数_找图.成员图片名, “080808”, 0.9, 0)
输出调试文本 (参数_找图.成员图片名)
输出调试文本 (局部_位置)
局部_位置数组 = 分割文本 (局部_位置, “|”, )
如果 (到整数 (局部_位置数组 [1]) > -1)
子程序提示信息 (“找到图片:” + 局部_位置)
计次循环首 (3, i)
输出调试文本 (局部_位置数组 [i])
计次循环尾 ()
程序集_找到图片X点 = 到整数 (局部_位置数组 [2])
程序集_找到图片Y点 = 到整数 (局部_位置数组 [3])
如果真 (参数_找图.成员处理方式 = “左单击”)
dm.MoveTo (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移, 到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
输出调试文本 (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移)
输出调试文本 (到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
程序_延时 (800, 0)
dm.LeftClick ()
输出调试文本 (“左单击”)
如果真 (参数_找图.成员处理方式 = “右单击”)
dm.MoveTo (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移, 到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
输出调试文本 (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移)
输出调试文本 (到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
程序_延时 (800, 0)
dm.RightClick ()
输出调试文本 (“右单击”)
如果真 (参数_找图.成员处理方式 = “左双击”)
dm.MoveTo (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移, 到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
输出调试文本 (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移)
输出调试文本 (到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
程序_延时 (800, 0)
dm.LeftDoubleClick ()
输出调试文本 (“左双击”)
如果真 (参数_找图.成员处理方式 = “按下左键”)
dm.MoveTo (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移, 到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
输出调试文本 (到整数 (局部_位置数组 [2]) + 参数_找图.成员相对X移)
输出调试文本 (到整数 (局部_位置数组 [3]) + 参数_找图.成员相对Y移)
程序_延时 (800, 0)
dm.LeftDown ()
输出调试文本 (“按下左键”)
如果真 (程序集_按下左X ≠ 0 程序集_按下左Y ≠ 0)
' 这里只能横移或竖移鼠标。
如果 (程序集_按下左X > 0)
计次循环首 (程序集_按下左X, 计次)
dm.MoveR (1, 0)
程序_延时 (10, 0)
计次循环尾 ()
计次循环首 (取绝对值 (程序集_按下左X), 计次)
dm.MoveR (-1, 0)
程序_延时 (10, 0)
计次循环尾 ()
如果 (程序集_按下左Y > 0)
计次循环首 (程序集_按下左Y, 计次)
dm.MoveR (0, 1)
程序_延时 (10, 0)
计次循环尾 ()
计次循环首 (取绝对值 (程序集_按下左Y), 计次)
dm.MoveR (0, -1)
程序_延时 (10, 0)
计次循环尾 ()
程序_延时 (200, 0)dm.LeftUp ()
程序集_按下左X = 0
程序集_按下左Y = 0

局部_临时甲 = 2
程序_延时 (参数_找图.成员等待毫秒, 0)
返回 ()
程序_延时 (100, 0)

计次循环尾 ()
如果真 (局部_临时乙 > 20)
子程序提示信息 (“找不到” + 程序集_寻找 [程序集_记录甲].成员图片名 + “图片。”)
跳出循环 ()
局部_临时乙 = 局部_临时乙 + 1
程序_延时 (200, 0)
判断循环尾 ()
返回 ()
子程序名返回值类型公开备 注
子程序添加数组  
参数名类 型参考可空数组备 注
参数文本型文本型
变量名类 型静态数组备 注
局部_临时数组文本型0
局部_临时甲自定义寻找甲 
' 1成员图片名【文本型】、2成员处理方式【文本型】、3成员相对X移【整数型】、4成员相对Y移【整数型】、5成员等待毫秒【整数型】、6成员连几图【整数型】
局部_临时数组 = 分割文本 (参数文本型, “||”, )
如果真 (取数组成员数 (局部_临时数组) ≠ 6)
信息框 (“添加【程序集_寻找】数组出错”, 0, , )
返回 ()
局部_临时甲.成员图片名 = 局部_临时数组 [1]
局部_临时甲.成员处理方式 = 局部_临时数组 [2]
局部_临时甲.成员相对X移 = 到整数 (局部_临时数组 [3])
局部_临时甲.成员相对Y移 = 到整数 (局部_临时数组 [4])
局部_临时甲.成员等待毫秒 = 到整数 (局部_临时数组 [5])
局部_临时甲.成员连几图 = 到整数 (局部_临时数组 [6])
加入成员 (程序集_寻找, 局部_临时甲)
子程序名返回值类型公开备 注
_按钮酒馆_被单击  
变量名类 型静态数组备 注
局部_找图文本型0
计次整数型 
计次连几图整数型 
局部_整数型个数整数型用来记录 程序集 寻找 数组的个数。
程序_延时 (1000, 0)
子程序取消聊天窗口 ()
子程序初始化程数据 ()
' 1成员图片名【文本型】、2成员处理方式【文本型】、3成员相对X移【整数型】、4成员相对Y移【整数型】、5成员等待毫秒【整数型】、6成员连几图【整数型】
加入成员 (局部_找图, “酒店001.bmp||左单击||30||46||1000||1”)
加入成员 (局部_找图, “酒店002.bmp||按下左键||5||5||1000||1”)
计次循环首 (取数组成员数 (局部_找图), 计次)
子程序添加数组 (局部_找图 [计次])
计次循环尾 ()
局部_整数型个数 = 取数组成员数 (程序集_寻找)
输出调试文本 (局部_整数型个数)
判断循环首 (局部_整数型个数 ≥ 程序集_记录甲)
编辑框提示信息区.内容 = “找” + 程序集_寻找 [程序集_记录甲].成员图片名 + #换行符 + 编辑框提示信息区.内容
如果真 (程序集_记录甲 = 2)
程序集_按下左Y = 110
子程序找图一 (程序集_寻找 [程序集_记录甲])
程序集_记录甲 = 程序集_记录甲 + 程序集_寻找 [程序集_记录甲].成员连几图
判断循环尾 ()
编辑框提示信息区.内容 = “酒店,操作完成!”#换行符 + 编辑框提示信息区.内容
子程序名返回值类型公开备 注
子程序取消聊天窗口  
变量名类 型静态数组备 注
局部_找图文本型0
计次整数型 
计次连几图整数型 
局部_位置文本型 
子程序初始化程数据 ()
' 1成员图片名【文本型】、2成员处理方式【文本型】、3成员相对X移【整数型】、4成员相对Y移【整数型】、5成员等待毫秒【整数型】、6成员连几图【整数型】
加入成员 (局部_找图, “聊天001.bmp||左单击||5||5||100||1”)
加入成员 (局部_找图, “聊天001-1.bmp||左单击||5||5||100||1”)
加入成员 (局部_找图, “聊天001-1.bmp||左单击||5||5||100||1”)
加入成员 (局部_找图, “聊天002.bmp||不单击||5||5||100||1”)
计次循环首 (取数组成员数 (局部_找图), 计次)
子程序添加数组 (局部_找图 [计次])
计次循环尾 ()
输出调试文本 (取数组成员数 (程序集_寻找))
如果 (子程序找图一 (程序集_寻找 [4]))
计次 = 10
计次 = 100
判断循环首 (取数组成员数 (程序集_寻找) ≥ 程序集_记录甲 计次 = 10)
编辑框提示信息区.内容 = “找” + 程序集_寻找 [程序集_记录甲].成员图片名 + #换行符 + 编辑框提示信息区.内容
子程序找图一 (程序集_寻找 [程序集_记录甲])
程序集_记录甲 = 程序集_记录甲 + 程序集_寻找 [程序集_记录甲].成员连几图
判断循环尾 ()
子程序名返回值类型公开备 注
子程序提示信息  
参数名类 型参考可空数组备 注
参数提示信息文本型
编辑框提示信息区.内容 = 参数提示信息 + 到文本 (取现行时间 ()) + #换行符 + 编辑框提示信息区.内容
子程序名返回值类型公开备 注
_按钮1_被单击  
变量名类 型静态数组备 注
局部_找图文本型0
计次整数型 
计次连几图整数型 
程序_延时 (1000, 0)
子程序初始化程数据 ()
' 1成员图片名【文本型】、2成员处理方式【文本型】、3成员相对X移【整数型】、4成员相对Y移【整数型】、5成员等待毫秒【整数型】、6成员连几图【整数型】
加入成员 (局部_找图, “征战001.bmp||左单击||18||10||1200||1”)
计次循环首 (取数组成员数 (局部_找图), 计次)
子程序添加数组 (局部_找图 [计次])
输出调试文本 (计次)
计次循环尾 ()
输出调试文本 (取数组成员数 (程序集_寻找))
判断循环首 (取数组成员数 (程序集_寻找) ≥ 程序集_记录甲)
子程序提示信息 (“找图:” + 程序集_寻找 [程序集_记录甲].成员图片名 + “开始!”)
子程序找图一 (程序集_寻找 [程序集_记录甲])
程序集_记录甲 = 程序集_记录甲 + 程序集_寻找 [程序集_记录甲].成员连几图
判断循环尾 ()
输出调试文本 (“继续开始”)
子程序名返回值类型公开备 注
_按钮点鼠_被单击  
如果 (按钮点鼠.标题 = “点”)
时钟1.时钟周期 = 500
按钮点鼠.标题 = “停”
按钮点鼠.标题 = “点”
时钟1.时钟周期 = 0

子程序名返回值类型公开备 注
_时钟1_周期事件  
dm.LeftClick ()
子程序名返回值类型公开备 注
__启动窗口_将被销毁  
窗口_热键卸载 (_启动窗口.取窗口句柄 (), 1)


i支持库列表   支持库注释   
dm(未知支持库)


作者: 178826559    时间: 2018-3-22 09:41


对了,这是 自定义数据。

作者: 178826559    时间: 2018-3-22 10:39
15373107731 发表于 2018-3-22 10:34

谢谢鼓励!
作者: aini1wna2    时间: 2018-3-22 12:26
这样的建议直接发源码
作者: anying860452    时间: 2018-3-22 16:59
感谢,研究一下
作者: anner    时间: 2018-3-22 22:39
直接发源码

作者: Movax    时间: 2018-3-24 12:25
要自己对着打一遍看效果?
作者: wjswzj0    时间: 2018-3-27 11:27
感谢,研究一下
作者: 感谢无阻大哥    时间: 2018-3-28 08:43
感谢,研究一下
作者: cyfei    时间: 2018-3-29 11:53
赞一个,共享精神值得赞
作者: zhulei0524    时间: 2018-3-29 13:50
我只是来赚一点JB
作者: 克里斯托    时间: 2018-4-2 21:40
赞一个,共享精神值得赞
作者: tianxi    时间: 2018-4-4 08:45
看不懂 一大堆




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4