TC官方合作论坛
标题:
数组调用越界是什么原因
[打印本页]
作者:
lianye9497
时间:
2014-1-27 15:22
标题:
数组调用越界是什么原因
本帖最后由 lianye9497 于 2014-1-27 15:25 编辑
功能 挖矿()
dm.SetDict(0,"斗破字库.txt")
变量 x坐标,y坐标
i=0
采集坐标=数组[100]
采集坐标[0]="186,378"
初始极径 = 2 // 这个的值是控制初始的内圈大小,值越大,内圈越大
倍数 = 2
系数=2 //阿基米德螺旋线系数
圆周率 = 3.1415926
半径,极角
起始x=572,起始y=442
终点x,终点y
极角=圆周率/2
///////移动到起点
dm.MoveTo(起始x,起始y+倍数*初始极径+系数*极角)
辅助.等待(2)
循环(真)
遍历(i=0;i<300;i++)
半径 = 初始极径+系数*极角
// 计算鼠标移动的下一点坐标位置
终点x = 起始x+类型.转整型(倍数*半径*数学.余弦值(极角))
终点y = 起始y+类型.转整型(倍数*半径*数学.正弦值(极角))
极角 = 极角 + 0.1
dm.MoveTo(终点x,终点y)
辅助.等待(10)
鼠标特征码1=鼠标.获取特征码()
如果(鼠标特征码1==68746215)
调试输出("获取成功")
dm.LeftClick()
辅助.等待(7000)
否则
dm.KeyPress(77)
辅助.等待(300)
dm.MoveTo(采集坐标
)
辅助.等待(300)
dm.LeftDoubleClick()
辅助.等待(300)
dm.KeyPress(77)
字符串.分割(采集坐标
,",",x坐标)
i=i+1
循环(真)
x1坐标 = dm.Ocr(912,7,937,20,"ffe400-505050",1.0)
y1坐标 = dm.Ocr(937,5,967,22,"ffe400-505050",1.0)
如果((x坐标[0]>x1坐标+2||x坐标[0]<x1坐标-2)&&(x坐标[1]>y1坐标+2||x坐标[1]<y1坐标-2))
否则
跳出
如果结束
循环结束
如果结束
遍历结束
调试输出("获取失败")
循环结束
功能结束
出现 数组 x坐标调用越界。。。是什么原因啊,,,怎么解决。。。。还有坐标比较那里也出现了 类型不匹配,,,求解决办法
作者:
lianye9497
时间:
2014-1-27 15:23
坐等高手回复
作者:
rainshine
时间:
2014-1-27 15:25
打断点看 加我qq1472750668远程给你弄。
作者:
rainshine
时间:
2014-1-27 19:53
我还得再发上来啊、tc审核最佳的大神,在这:
dm.MoveTo(采集坐标[i])这一句明显错 1、类型不对 2、实参个数不对
然后x坐标这个数组越界了,你分割之后加一段代码
size
arraysp.size(x坐标,size)
if(size!=2)
help.messagebox("分割失败")
endif
这样判断是否分割 就能防止数组越界了。
还有,你分割之后返回的数组是字符型,必须用 类型.转整型 才能判断大于小于、调用MoveTo、、、、
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1