开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 551|回复: 15
收起左侧

[精币悬赏] 判断循环找图问题

[复制链接]
结帖率:29% (2/7)
发表于 2025-11-27 00:15:05 | 显示全部楼层 |阅读模式   四川省成都市
20精币

请问一下,以下判断找图,怎么改成不管随机出现了那一个需要找的图,出现了需要找的图只执行一次在图片消失之前不重复判断这一张图片,然后接着循环判断下一个随机出现需要找的现图一样只执行一次在图片消失之前不重复判断这一张图片,每一张图的显示和消失时间不固定用不了延迟,麻烦大佬帮我改改


列如  A B C D  图片,随机出现了一张 A 图片判断到 A 图片执行命令,接着 A 图片还没消失掉(每一种图片消失和显示时间不一样用不了延迟,但是每次只随机出现一张图片)又随机出现了一张 C 图片,然后跳过被执行过得 A 图片,只执行 C 图片执行命令,,,,,,一直这样循环,被执行过得随机出现的图片,不会在消失前不会重复执行,每一张图片执行的命令只执行一次





  
子程序名返回值类型公开备 注
_按钮1_被单击  
判断启动游戏循环 = 真
启动线程 (&启动游戏, , 线程启动游戏句柄)
子程序名返回值类型公开备 注
启动游戏  
判断循环首 (判断启动游戏循环)
dm.FindPic (547, 665, 721, 760, “配置\游戏奖确认.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 领取奖励0”到文本 (cf)#换行符 )

dm.FindPic (1021, 653, 1071, 688, “配置\游戏奖确认1.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 领取奖励1”到文本 (cf)#换行符 )

dm.FindPic (968, 629, 1017, 659, “配置\游戏奖确认2.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 领取奖励2”到文本 (cf)#换行符 )

dm.FindPic (606, 364, 682, 425, “配置\游戏奖励荣耀升级.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 升级了”到文本 (cf)#换行符 )

dm.FindPic (528, 639, 716, 677, “配置\房间称号.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 获得称号”到文本 (cf)#换行符 )

dm.FindPic (717, 637, 785, 678, “配置\房间称号奖励.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 获得称号奖励”到文本 (cf)#换行符 )

dm.FindPic (680, 598, 752, 634, “配置\房间道具卡奖励.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 获得道具”到文本 (cf)#换行符 )

dm.FindPic (629, 596, 701, 631, “配置\房间道具推荐.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 关闭商城”到文本 (cf)#换行符 )

dm.FindPic (673, 620, 732, 655, “配置\房间道具续费.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 关闭商城续费”到文本 (cf)#换行符 )

dm.FindPic (661, 423, 719, 456, “配置\房间好友邀请.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 拒绝邀请”到文本 (cf)#换行符 )

dm.FindPic (912, 110, 956, 151, “配置\房间模式介绍.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 模式介绍”到文本 (cf)#换行符 )

dm.FindPic (617, 431, 685, 469, “配置\房间升级.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 升级”到文本 (cf)#换行符 )

dm.FindPic (607, 421, 666, 454, “配置\房间游戏房主.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 房间房主”到文本 (cf)#换行符 )

dm.FindPic (1120, 506, 1234, 544, “配置\房间游戏准备.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 房间准备”到文本 (cf)#换行符 )

dm.FindPic (540, 295, 729, 388, “配置\房间标实.bmp|配置\房间标实1.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
cf = cf + 1
编辑框纪录框.加入文本 (“> 游戏标签”到文本 (cf)#换行符 )

dm.FindPic (1120, 506, 1234, 544, “配置\房间游戏开始.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 开始游戏”到文本 (cf)#换行符 )

dm.FindPic (1120, 506, 1234, 544, “配置\房间游戏进入.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
cf = cf + 1
编辑框纪录框.加入文本 (“> 游戏进入”到文本 (cf)#换行符 )

dm.FindPic (170, 0, 400, 80, “配置\房间游戏加载.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
cf = cf + 1
编辑框纪录框.加入文本 (“> 游戏加载”到文本 (cf)#换行符 )

dm.FindPic (601, 314, 677, 393, “配置\游戏准星.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (2, 1)
dm.KeyPress (75)  ' 键盘按K
cf = cf + 1
编辑框纪录框.加入文本 (“> 进入游戏完成”到文本 (cf)#换行符 )

dm.FindPic (826, 429, 865, 463, “配置\传送6阶.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 打开传送菜单”到文本 (cf)#换行符 )

dm.FindPic (588, 542, 676, 581, “配置\传送确认.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
cf = cf + 1
编辑框纪录框.加入文本 (“> 确认传送”到文本 (cf)#换行符 )

dm.FindPic (588, 542, 676, 581, “配置\传送取消.bmp”, “000000”, 0.9, 0, intX, intY) = 0
如果真 (intX > 0 intY > 0)
程序_延时 (点击延迟, 0)
dm.MoveTo (intX, intY)
程序_延时 (点击延迟, 0)
dm.LeftClick ()
程序_延时 (5, 1)
编辑框纪录框.加入文本 (“> 传送完成”到文本 (cf)#换行符 )

dm.FindPic (536, 9, 652, 101, “配置\游戏10分钟.bmp”, “000000”, 0.9, 0, intX, intY)
如果真 (intX > 0 intY > 0)
程序_延时 (1, 1)
cf = cf + 1
编辑框纪录框.加入文本 (“> 启动跑图”到文本 (cf)#换行符 )
程序_延时 (点击延迟, 0)
启动跑图 ()

判断循环尾 ()
子程序名返回值类型公开备 注
启动跑图  
编辑框纪录框.加入文本 (“> 开始跑图”到文本 (cf)#换行符 )
子程序名返回值类型公开备 注
_按钮2_被单击  
cf = 0
判断启动游戏循环 = 假
强制结束线程 (线程启动游戏句柄)
关闭线程句柄 (线程启动游戏句柄)


i支持库列表   支持库注释   
EThread多线程支持库



补充内容 (2025-11-27 00:48):
源码在下面

补充内容 (2025-11-27 18:09):
临时解决了加了个变量判断,把主要bug 部分重新判断了,如果有更好的建议,评论里发一下 非常感谢各位大佬

结帖率:29% (2/7)
 楼主| 发表于 2025-11-27 17:37:40 | 显示全部楼层   四川省成都市
加了个变量判断 屏幕截图 2025-11-27 173706.png



补充内容 (2025-11-27 17:42):
临时加了个变量判断,把主要部分判断了,如果有更好的建议1欢迎欢迎评论发一下
回复

使用道具 举报

结帖率:29% (2/7)
 楼主| 发表于 2025-11-27 00:20:18 | 显示全部楼层   四川省成都市
不能用全屏识别,有些图片是很相似的,只能区域单图识别
回复

使用道具 举报

结帖率:29% (2/7)
 楼主| 发表于 2025-11-27 00:48:21 | 显示全部楼层   四川省成都市
源码.rar (1.15 MB, 下载次数: 3)
回复

使用道具 举报

结帖率:29% (2/7)
 楼主| 发表于 2025-11-27 00:48:42 | 显示全部楼层   四川省成都市
源码在下面
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2025-11-27 09:16:18 | 显示全部楼层   江苏省南京市
加一个判断消失即可 1.jpg
回复

使用道具 举报

结帖率:93% (92/99)

签到天数: 1 天

发表于 2025-11-27 10:18:13 | 显示全部楼层   重庆市重庆市
代码好臃肿啊  写外部读取啊还能随时外面添加  代码就不用写这么多  不累么?
回复

使用道具 举报

结帖率:29% (2/7)
 楼主| 发表于 2025-11-27 13:22:46 | 显示全部楼层   四川省成都市
錵錵 发表于 2025-11-27 09:16
加一个判断消失即可

还是重复执行这一段命令 VX图片_2025-11-27_132058_864.png
回复

使用道具 举报

结帖率:29% (2/7)
 楼主| 发表于 2025-11-27 13:25:51 | 显示全部楼层   四川省成都市
那小子很坏 发表于 2025-11-27 10:18
代码好臃肿啊  写外部读取啊还能随时外面添加  代码就不用写这么多  不累么? ...

新入坑的全都看不懂哪学得会那些
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2025-11-27 14:02:52 | 显示全部楼层   江苏省南京市
前面的dm_ret 赋下值  我只是演示了你找图循环的一段  你这个最好用状态机制做模块化  要不然你的循环代码太多了
回复

使用道具 举报

结帖率:0% (0/1)
发表于 2025-11-27 14:09:31 | 显示全部楼层   江苏省南京市
还有我看了你要找的图片 理论是可以做游戏窗口全屏识别的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表