TC官方合作论坛

 找回密码
 立即注册
查看: 3410|回复: 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
回复

使用道具 举报

发表于 2012-3-12 01:48:40 | 显示全部楼层
沙发 哈哈哈
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-3-12 01:53:43 | 显示全部楼层
回复 2楼313442275的帖子

我靠 你动作这么快 我图片都没放好!:P
回复 支持 反对

使用道具 举报

发表于 2012-3-12 02:45:24 | 显示全部楼层
循环(图像.找图(....)==-1) 可以用这种模式吗?我汗...原来可以这样.....写了几万行代码这才知道这点.....感谢楼主!!!
回复 支持 反对

使用道具 举报

发表于 2012-3-12 07:46:27 | 显示全部楼层
介绍的太好了,虽然有点晕,但至少说明了TC还是能实现跳转的.如楼主一样,先把思路想好,不行就画画结构图了.
回复 支持 反对

使用道具 举报

发表于 2012-3-12 09:20:24 | 显示全部楼层
不错。 支持下,冷月给力。:D
回复 支持 反对

使用道具 举报

发表于 2012-3-12 11:08:05 | 显示全部楼层
:D 支持
回复 支持 反对

使用道具 举报

发表于 2012-3-12 13:16:54 | 显示全部楼层
:|-)蛋疼的if  else 判断分支多了自己都晕了
回复 支持 反对

使用道具 举报

发表于 2012-3-12 17:58:13 | 显示全部楼层
太棒了,谢谢LZ
回复 支持 反对

使用道具 举报

发表于 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备18045623号)

GMT+8, 2024-6-3 23:05 , Processed in 0.049380 second(s), 25 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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