TC官方合作论坛
标题:
请教:循环语句 进入死循环
[打印本页]
作者:
4920766
时间:
2014-1-26 21:13
标题:
请教:循环语句 进入死循环
本帖最后由 4920766 于 2014-1-26 21:23 编辑
各位老师好。学TC一段时间了,一直都是边做边改。可今天遇到个问题:
dm.FindStrFast(775,1,984,38,"一","a09b94-000000",0.8,x_1,y_1)
辅助.等待(500)
循环(x_1<0)
辅助.等待(3000)
dm.FindStrFast(775,1,984,38,"一","a09b94-101010",0.8,x_1,y_1)
辅助.等待(500)
循环结束
我要判断到一个地图,到了这个地图,在右上角找"一",如果没找到再等等。
可为什么我这段代码会陷入死循环,一直等待。
注:反复检查上十遍,字库中已做好了“一”字,并县颜色也是对的。
没找到按理说x_1也返回-1,也应当是<0啊。
请各位高手指教!
作者:
4920766
时间:
2014-1-26 21:14
补充:是判断到没到一个地图,依据是找右上角的“一”字。上面的话好象有歧义。
作者:
4920766
时间:
2014-1-26 21:29
都回家过年了吗?
作者:
sunmzking
时间:
2014-1-26 22:20
本帖最后由 sunmzking 于 2014-1-26 23:52 编辑
<p>
</p><p>循环(真)
dm.FindStrFast(775,1,984,38,"一","a09b94-000000",0.8,x_1,y_1)</p><p>辅助.等待(500)</p><p>如果(x_1>)
跳出
否则
辅助.等待(500)</p><p>如果结束
循环结束 </p>
复制代码
作者:
zxw445
时间:
2014-1-26 22:37
高手啊,你不会用帮助文档的代码测试下可行,在用你的思路在弄一边,就知道你的错不错了。难道连测试都没能力了么?
作者:
kam
时间:
2014-1-27 00:01
循环(x_1<0)
我也是新手,不过我感觉你的问题就出在这里.
TC循环的条件是表达式为"真",你上面刚找过一次图,就等于已经给X_1赋值了
那么你无论怎么找, x_1<0这个表达式都是成立的.当然就进入死循环了.
作者:
4920766
时间:
2014-1-27 09:59
再测试。我主要是搞得烦躁了才来问问高手们呢.
作者:
4920766
时间:
2014-1-27 10:36
循环(真) 如果找到 跳出 这个可行。
可为什么帮助文档中不一定要(真)
执行流程图解:
循环(表达式)..... 循环结束
这表达式应当可以表述为X_1>0啊。
dm.FindStrFast(775,1,984,38,"一","a09b94-000000",0.8,x_1,y_1)
辅助.等待(500)
循环(x_1<0)
辅助.等待(3000)
dm.FindStrFast(775,1,984,38,"一","a09b94-101010",0.8,x_1,y_1)
辅助.等待(500)
循环结束
我在循环湔先找一次,没有找到的话,再循环又找一次,应当是可行的啊。不理解。。。。。
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1