TC官方合作论坛

 找回密码
 立即注册
查看: 2174|回复: 17
打印 上一主题 下一主题

[源码分享] TC小白篇之流程控制图文版

[复制链接]
跳转到指定楼层
楼主
发表于 2012-3-12 01:47:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
很多人都在郁闷TC没有标记和跳转命令,很多功能不用跳转就实现不了了吗?答案就在这里!
TC的流程控制命令有:如果 if,否则 else, 如果结束 endif, 循环 while, 循环结束 endwhile, 重复 repeat, 重复结束 endrepeat, 继续 continue, 跳出 break
首先一个最简单的按键精灵标记跳转:

Rem 开始
执行的代码
Goto 开始

其实大家一看就知道了,这其实就是个死循环.
循环()
执行的代码
循环结束



那么有条件的跳转呢?比如按键的循环找图跳转:
Rem 开始
FindPic 0,0,1024,768,"Attachment:\1.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
执行的代码
Else
Goto 开始
End If

这个循环找图相信大家也都知道怎么在TC实现,复杂型:

循环()
图像.找图(0,0,1024,768,"rc:1.bmp",#000000,0.9,0,intX,intY)
如果(intX>0&&intY>0)
执行的代码
跳出
如果结束
循环结束

简洁型:
循环((图像.找图(0,0,1024,768,"rc:1.bmp",#000000,0.9,0,intX,intY)==-1))
循环结束
执行的代码



好了,下面就是困扰大家的嵌套型标记跳转,首先是按键的单标记,多跳转:

Rem 开始
FindPic 0,0,1024,768,"Attachment:\1.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
//我的执行代码
else
Goto 开始
End If
FindPic 0,0,1024,768,"Attachment:\2.bmp",0.9,intX,intY
If intX > 0 And intY > 0 Then
//我的执行代码
else
Goto 开始
End If

代码功能描述,找图1.bmp,如果没找到跳转到找图1bmp,如果找到执行我的执行代码,然后找图2.bmp,
如果没有找到跳转到找图1.bmp,如果找到执行我的执行代码!
大家可以看到所谓的单标记多跳转就是每一个跳转都有一个条件判断
其实在TC里只要熟悉了如果和否则的应用一样很容易达成功能:

循环()
如果((FindPic 0,0,1024,768,"Attachment:\1.bmp",0.9,intX,intY)==0)
//我的执行代码
如果((FindPic 0,0,1024,768,"Attachment:\2.bmp",0.9,intX,intY)==0)
//我的执行代码
跳出
如果结束
如果结束
循环结束



还有就是按键的多标记多跳转:
a=0
Rem 标记1
If a<4 Then
打怪捡东西
If 包裹满 Then
Goto 标记2
End If
a=a+1
else
Goto 标记1
End If
Rem 标记2
卖东西
a=0
Goto 标记1

代码实现的功能:循环打怪捡东西,每一次打怪捡东西以后检查包裹是否满,包裹满就卖东西,包裹没满就继续打怪
每循环打三次怪不管包裹满没满就去卖东西
好吧,你说可以用条件循环来写,是的按键也有条件循环,但是我们现在说的是标记跳转,虽然我自己看得也很头晕
同样的,TC里我们也可以用条件循环来实现功能

循环()
a=0
循环(a<=3)
打怪捡东西
如果(包裹满)
跳出
如果结束
a=a+1
循环结束
卖东西
循环结束


好了,希望大家能看得懂这些鬼画符!
最后,灵活应用流程控制命令是制作脚本最重要的手段之一,通过运用循环和如果来做出判断,从而达到脚本智能化!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

18#
发表于 2012-6-20 13:45:36 | 只看该作者
回复 17楼creyzs的帖子

冷月给力学
回复 支持 反对

使用道具 举报

17#
发表于 2012-6-20 11:29:16 | 只看该作者
流程图是必要.楼主明鉴.
回复 支持 反对

使用道具 举报

16#
发表于 2012-6-18 16:04:43 | 只看该作者
学习了~~~
回复 支持 反对

使用道具 举报

15#
发表于 2012-3-14 16:37:46 | 只看该作者
大神。。。。。
回复 支持 反对

使用道具 举报

14#
发表于 2012-3-14 14:27:34 | 只看该作者
终于找到了:T
回复 支持 反对

使用道具 举报

13#
发表于 2012-3-14 14:07:05 | 只看该作者
这个图把思路清晰的表达出来了= =学习了
回复 支持 反对

使用道具 举报

12#
发表于 2012-3-13 22:35:32 | 只看该作者
DDDDDD
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2012-3-13 14:52:52 | 只看该作者
回复 10楼qq2901qq的帖子

谢谢你指出错误,是我失误了!不过这里不是继续哦,TC里的继续命令可不是让循环继续的意思!
我会另开一贴给大家说说继续的用法!
回复 支持 反对

使用道具 举报

10#
发表于 2012-3-13 14:30:17 | 只看该作者
这个循环找图相信大家也都知道怎么在TC实现,复杂型:

循环(真)
图像.找图(0,0,1024,768,"rc:1.bmp",#000000,0.9,0,intX,intY)
如果(intX>0&&intY>0)
执行的代码
否则
跳出
如果结束
循环结束

貌似这里的 跳出 应该是 继续 continue:o
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-15 09:30 , Processed in 0.277195 second(s), 27 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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