TC官方合作论坛
标题: TC 控制语句之 while 循环[1.005-2.006版本] [打印本页]
作者: 小王 时间: 2011-7-11 15:32
标题: TC 控制语句之 while 循环[1.005-2.006版本]
while(循环)语句
[attach]338[/attach]
while(循环)语句概念:所谓的循环就是满足一定条件后重复执行某个动作,直到条件不成立或者在循环体内满足了某条件并执行了跳出语句,则循环结束。
循环语句的执行流程:首先判断循环条件,若循环条件成立(true),则执行"循环(循环条件)”到”循环结束“内容,直到循环条件不满足或在循环体内满足了某个如果语句并执行跳出语句时,则循环语句结束;若循环条件不成立(false),则直接跳到循环结束后面的语句执行。
注意:在使用循环时,一定要保证循环可以正常退出,也就是必须保证循环条件存在(false)的情况,不然循环就会无休止的执行下去。那么在TC中我们利用这种无休止的方法实现自动打怪等无限重复的动作如何停止呢?其实我们可以利用TC的关键字跳出来结束循环,我们还可以利用线程的方法实现暂停或者关闭,当然你也可以直接退出脚本程序来终止循环。
首先我们通过例子进一步的了解,如下代码:
功能 逻辑型 循环开始()
整型 次数
//定义一个整数型的变量
次数=0
//给这个变量赋一个初始值
循环(次数<4)
//这是循环的条件,当循环条件满足时,执行下面语句,若不满足直接跳转到循环结束后面的语句执行
辅助.消息框("这是循环的动作!")
//这是循环体内的内容,执行一个弹出消息的对话框
次数=次数+1
//用于控制循环结束,每循环一次次数变量加1,当次数大于等于4时循环结束
循环结束
返回 真
功能结束
分析说明:这是自定义的一个函数,通过上面的例子我们可以知道当次数小于4时,执行循环体内的语句,当次数大于等于4时,循环条件不成立,则循环语句结束。
然后我们看一下这个例子,如下:
功能 逻辑型 循环开始()
循环(真)
//这是循环的条件,当循环条件满足或为(真)时,执行下面语句,若不满足直接跳转到循环结束后面的语句执行
辅助.消息框("这是循环的动作!")
//这是循环体内的内容,执行一个弹出消息的对话框
循环结束
返回 真
功能结束
分析说明:这是一个自定义函数,上面的条件为真,那么条件成立了,开始一直执行循环体内的语句,直到遇到条件为真结束,但我们看到上面并没有什么判断语句来结束这个循环,那么我们就称这个循环是死循环,虽然它是一个死循环但它帮助我们可以完成无限重复的动作,可是我们应该如何来结束这个死循环呢?
最后我们再看一个例子,如下:
空间 我的程序
整型 线程句柄
//定义一个全局变量用于获取线程句柄或关闭线程
功能 逻辑型 循环开始()
循环(真)
//这是循环的条件,当循环条件满足时,执行下面语句,若不满足直接跳转到循环结束后面的语句执行
辅助.消息框("这是循环的动作!")
//这是循环体内的内容,执行一个弹出消息的对话框
循环结束
返回 真
功能结束
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
线程句柄=线程.开启("我的程序.循环开始")
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里是你退出的时候要执行的代码,这类是你点击退出按钮执行的代码
线程.关闭(线程句柄)
辅助.等待(50)
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
//命名空间结束语句
分析说明:我们运行这个程序时,每点击一次开始就会弹出一个消息对话框。因为这是一个死循环,所以只要你每点击一次就会弹出消息框,并且永远不会结束。那么我们在这里利用了线程的方法来关闭这个循环,当用户点击退出时,这个循环语句也就结束了,有的人会问为什么要自定义一个函数用线程来开启和关闭而不直接在开始函数写循环,运行后点击退出也能实现关闭啊?其实这个原因很简单,因为若使用函数的方法来退出,就会导致卡死情况,利用线程就不会出现这个情况了,更多线程的使用方法参考线程使用说明。
循环和重复区别:
重复语句,格式: 循环语句,格式:
重复(次数) 循环(循环条件)
重复体 循环体
重复结束 循环结束
分析说明:重复语句和循环语句主要的区别在于,重复的条件是固定的,条件中只允许输入正整型数据(只以数字形式出现),当重复条件满足时执行重复语句直到重复次数为0,若重复语句中遇到跳出语句时也会结束重复语句;而循环的条件包括:表达式,真或假(bool),只有循环条件满足时才会执行循环体语句,当循环条件为真时会无限的循环下去,直到遇到跳出关键字才会循环结束。另外循环的条件句不允许有字符型数据和变量。
作者: 章昊 时间: 2011-7-11 18:05
学会了,就成为自动打怪的好助手!
作者: bleachice 时间: 2011-7-12 12:34
循环,和重复的区别在哪
作者: huhuang03 时间: 2011-7-13 14:54
有区别吧,重复是不变的重复
循环是指多次执行同一段代码,执行一次会让判断条件改变,知道判断条件成立吧
作者: 小风子 时间: 2011-7-13 18:43
看看!!
作者: my1974 时间: 2011-7-13 19:13
新手来 学习
作者: 小王 时间: 2011-7-14 09:18
回复 3楼bleachice的帖子
重复指定执行次数,就执行指定次数次代码,执行完指定次数代码后跳出重复。
循环 需要加条件语句 当达到条件时才执行循环,条件不满足时跳出循环。
所以区别就是一个需要加判断,一个不需要加判断!
作者: bleachice 时间: 2011-7-15 21:17
明白了,感谢帮忙解答
作者: 小王 时间: 2011-7-17 14:09
不客气!
作者: dxb_ckx 时间: 2011-7-25 16:55
非常感谢!!
作者: 小西 时间: 2011-7-25 17:15
给力:-D
作者: phtrou 时间: 2011-7-26 12:49
非常感谢分享
作者: hlbwdy01 时间: 2011-9-22 14:23
这回真看懂了!·!谢谢 !
作者: 1066808696 时间: 2011-9-23 14:39
如果只是重复 应该怎么做呢?
作者: By小九 时间: 2011-9-26 22:28
:-D感觉好像C啊
作者: 381477270 时间: 2011-9-27 09:30
很不错,谢谢了
作者: 961560902 时间: 2011-10-7 09:44
kankan
作者: 648841831 时间: 2011-10-12 18:09
学习学习
作者: 我菜菜 时间: 2011-10-21 10:02
明白了 但不知道应用到哪方面
作者: 迩比可比克 时间: 2011-10-28 22:14
留迹
作者: canpark 时间: 2011-11-1 15:04
不错,支持。
作者: zhchfei88 时间: 2011-11-25 12:04
有所帮助,回个贴,
作者: dzh 时间: 2011-12-11 22:17
xxx学习了
作者: willim1982 时间: 2011-12-15 09:41
辛苦啦
作者: 水上飞 时间: 2012-1-6 16:14
新手学习下,谢谢
作者: ok113 时间: 2012-1-7 18:13
哇 厉害厉害!4
作者: wangyong133 时间: 2012-1-19 20:04
怎么得金币啊!下载不了附件
作者: w383965374 时间: 2012-1-20 22:22
额 基本知识
作者: li470572465 时间: 2012-2-1 16:42
学习中。。。。
作者: dhao0o0 时间: 2012-2-4 19:06
受教了
作者: qq1188 时间: 2012-2-6 18:19
新人来学习下
作者: cr995cr 时间: 2012-2-9 08:20
楼主如果能再具体点,加上那个跳出循环体的命令,一并解释就更好了。
越是基础的东西越是要多看。
受教,谢谢。
作者: yeshang89 时间: 2012-3-24 17:20
新手学习
作者: qq654243143 时间: 2012-3-24 22:45
顶:D:D
作者: wtunypg 时间: 2012-3-28 13:22
学习了.....
作者: jlklove 时间: 2012-5-10 08:44
·····~~~~~顶
作者: 67800461 时间: 2012-6-2 09:50
空间 我的程序
整型 线程句柄
//定义一个全局变量用于获取线程句柄或关闭线程
功能 逻辑型 循环开始()
循环(真)
//这是循环的条件,当循环条件满足时,执行下面语句,若不满足直接跳转到循环结束后面的语句执行
辅助.消息框("这是循环的动作!")
//这是循环体内的内容,执行一个弹出消息的对话框
循环结束
返回 真
功能结束
功能 逻辑型 开始_点击()
//这里添加你要执行的代码,这里是你点击开始按钮执行的代码
线程句柄=线程.开启("我的程序.循环开始") //这个是第16行
返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里是你退出的时候要执行的代码,这类是你点击退出按钮执行的代码
线程.关闭(线程句柄)
辅助.等待(50)
辅助.退出()
返回 真
//函数返回语句
功能结束
空间结束
我把以上列表 复制了 然后点了运行,结果出错了,我百思不得其解 哪错了 我是3.033的版本
行号:16 错误信息:(("我的程序.循环开始"))是错误的实参数列表
作者: 小狼10086 时间: 2012-6-17 14:12
哦 不错哦 可惜我不会
作者: yangfusheng 时间: 2013-11-23 21:39
有贴必回,最喜欢楼主这样的有为青年了~
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) |
Powered by Discuz! X3.1 |