|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
空间 实验
//默认空间
跑图线程,采集线程,坐标
功能 启动()//线程调用的第一个功能,线程句柄
路径数组=数组[]//声明变量
实验.前期处理()//做一些前期处理
路径数组=实验.获取路径()//获取界面设置数据
跑图线程=线程.开启("实验.跑地图",路径数组)
采集线程=线程.开启("实验.寻找采集目标","")
功能结束
功能 前期处理()
窗口句柄=窗口.鼠标所在窗口句柄()
窗口.设置位置(窗口句柄,0,0)
功能结束
功能 停止()
线程.关闭(跑图线程)
功能结束
功能 获取路径()
路径数组=数组[]//声明数组变量
数量=列表框.得到个数("列表框0")//获取列表框0的选项数量
路径数组=数组空间.重定义(路径数组,假,数量)
遍历(序号=0;序号<数量;序号++)
路径数组[序号]=列表框.获得文本("列表框0",序号)
遍历结束
调试输出("获取坐标数组,数量:"&数量)
返回 路径数组
功能结束
功能 跑地图(路径数组)
数量,x,y//声明一些必要变量
数组空间.大小(路径数组,数量)
循环(真)
遍历(序号=0;序号<数量;序号++)
调试输出("开始跑地图,坐标:"&路径数组[序号])
坐标=路径数组[序号]
实验.自动寻路(坐标)
实验.打开大地图()
鼠标.移动(x,y)
鼠标.左键单击()
辅助.等待(1000)
鼠标.移动(0,0)
键盘.按键(77)
实验.已经到达()
遍历结束
辅助.等待(500)
循环结束
功能结束
功能 自动寻路(路径坐标)
返回串
字符串.分割(路径坐标,",",返回串)
x=返回串[0],y=返回串[1]
实验.打开大地图()
鼠标.移动(x,y)
鼠标.左键单击()
辅助.等待(1000)
鼠标.移动(0,0)
键盘.按键(77)
功能结束
功能 打开大地图()
x,y
图像.找图(0,0,1024,768,"rc:大地图.bmp",#050505,0.9,0,x,y)
如果(x<0)
调试输出("打开大地图")
键盘.按键(77)
如果结束
辅助.等待(1000)
功能结束
功能 已经到达()
x,y
调试输出("判断是否到达坐标")
循环(真)
图像.找图(0,0,1024,768,"rc:寻路结束.bmp|rc:寻路结束2.bmp",#050505,0.9,0,x,y)
如果(x>0)
调试输出("已经到达坐标")
跳出
如果结束
循环结束
功能结束
功能 寻找采集目标()
x,y
循环(真)
图像.找图(880,77,986,170,"rc:草药.bmp",#050505,0.9,0,x,y)
如果(x>0)
调试输出("找到采集目标")
线程.暂停(跑图线程)
调试输出("暂停跑图线程")
鼠标.移动(x+3,y+3)
鼠标.左键单击()
辅助.等待(1000)
鼠标.移动(0,0)
实验.已经到达()
实验.开始采集()
辅助.等待(1000)
实验.自动寻路(坐标)
线程.恢复(跑图线程)
调试输出("恢复跑图线程")
如果结束
辅助.等待(500)
循环结束
功能结束
功能 开始采集()
x,y
是否采集=实验.鼠标扫描(x,y)
如果(是否采集)
调试输出("开始采集")
鼠标.移动(x,y)
辅助.等待(500)
鼠标.左键单击()
辅助.等待(1000)
鼠标.移动(0,0)
实验.等待采集完毕()
辅助.等待(1000)
键盘.按键(90,3)
调试输出("拾取物品")
返回 0
如果结束
功能结束
功能 鼠标扫描(&x,&y)
//*********绘制阿基米德螺旋线*********
//*阿基米德螺旋线的标准极坐标方程为
//ρ=at+P0
//式中:
//a—阿基米德螺旋线系数,mm/°,表示每旋转1度时极径的增加(或减小)量;
//t—极角,单位为度,表示阿基米德螺旋线转过的总度数;
//p0—当t=0°时的极径,mm。
//***p0为初始极径
初始极径 = 5 // 这个的值是控制初始的内圈大小,值越大,内圈越大
倍数 = 4 //放大倍数,这里也可以根据情况做调整
系数=2 //阿基米德螺旋线系数
圆周率 = 3.1415926
半径,极角,返回x,返回y
////画线的起始点坐标(起始x,起始y)
// 表示的是要从那一点开始为基准点,逐渐向外扫描
起始x=520,起始y=430
极角=圆周率/2
///////移动到起点
鼠标.移动(起始x,起始y+倍数*初始极径+系数*极角)
辅助.等待(2)
遍历(i=0;i<300;i++) // 这里表示一共执行3000次。 具体要执行多少次。根据不同情况调整
半径 = 初始极径+系数*极角 //表示的是圆的半径
// 计算鼠标移动的下一点坐标位置
x = 起始x+类型.转整型(倍数*半径*数学.余弦值(极角))
y = 起始y+类型.转整型(倍数*半径*数学.正弦值(极角))
// 极角的增加值越大,跨的角度就越大。这个值的大小,可以自我调整达到理想状态
// 比如增加量可以用以下的值 0.02 0.03 0.05 0.07 0.08 0.1 ……
// 值越大,跨的角度越大,误差越大,但是消耗的时间短
// 值越小,跨的角度越小,误差越小,但是消耗的时间长
极角 = 极角 + 0.1 // 极角 = 极角 + 0.05
// 鼠标移动到下一点的位置,完成一次画线操作
鼠标.移动(x,y)
图像.找图(0,0,1024,768,"rc:鼠标特征.bmp",#050505,0.9,0,返回x,返回y)
如果(返回x>0)
返回 真
如果结束
辅助.等待(2)
遍历结束
返回 假
功能结束
功能 等待采集完毕()
x,y
循环(真)
图像.模糊找色(370,560,680,600,#fbaf27,0.8,0,x,y)
如果(x<0)
调试输出("采集完毕")
跳出
如果结束
辅助.等待(500)
循环结束
功能结束
功能 热键0_热键()//启动()
//这里添加你要执行的代码
实验.启动()
功能结束
功能 热键1_热键()//停止()
//这里添加你要执行的代码
实验.停止()
功能结束
空间结束
//空间结束语句
帮我完成必须采纳,求高手! 错误信息:数组 返回串 调用越界 行号:51
|
|